我試圖啓動一個進程,雖然ps -ef | grep myprocessname沒有顯示它正在運行,但當我調用腳本啓動它時,它表示進程已經在運行,正在退出。linux - 進程已經在運行的錯誤
我搜索了大約一個小時的互聯網,我找不到任何答案。誰能幫忙?謝謝。
@TILO:在/ var/run下沒有名稱甚至接近我的進程的文件。還有其他建議嗎?
@VKRAM:這是第三方軟件。有什麼建議麼?
我試圖啓動一個進程,雖然ps -ef | grep myprocessname沒有顯示它正在運行,但當我調用腳本啓動它時,它表示進程已經在運行,正在退出。linux - 進程已經在運行的錯誤
我搜索了大約一個小時的互聯網,我找不到任何答案。誰能幫忙?謝謝。
@TILO:在/ var/run下沒有名稱甚至接近我的進程的文件。還有其他建議嗎?
@VKRAM:這是第三方軟件。有什麼建議麼?
如果您嘗試啓動的進程存在.pid文件,請在/ var/run下進行檢查。
例如/var/run/mysqld/mysqld.pid就是這樣一個文件。
該文件包含進程的PID ...
運行 PS -edaf | grep的PID#你在文件中找到PID
如果過程沒有找到,你可以刪除PID文件 - 然後再嘗試啓動您的進程再次
嘗試使用上有問題的程序strace的:
strace yourprogram
不久就終止之前,你應該看到的系統調用它來確定另一個實例正在運行,並且可以從那裏反向工程它正在使用的方法。
你說你不能找到PID文件...
如果你不能找到PID文件(也許是因爲一些在/ var /目錄運行的是深層嵌套) , 試試這個,看看在那裏所有的PID文件的列表:
查找/ var/run中型的F -name '* .pid'
查找/無功型的F -name「*。 pid'
也許喲你會看到一個與你試圖啓動的進程名稱相似的文件名。 或者您也可以在該行的末尾加上grep,並嘗試grep列表中的進程名稱。
一些程序把也使用鎖文件 - 這些都可以在/ var /鎖/或/ var /鎖/子系統
通常被發現如果不幫助,嘗試一下在開始 - 你正在使用的腳本,例如詳細/etc/init.d/中 看它下,尋找類似LOCK_FILE或PID_FILE
過程是怎樣的,你正在運行?相關? – vkrams 2011-05-26 03:03:15
由於這是第三方程序(=最終用戶支持),因此可能屬於超級用戶 - 已投票遷移 – bdonlan 2011-05-26 03:21:10
此外,具體是哪個程序? – bdonlan 2011-05-26 03:21:23