我列出的PID,然後嘗試使用殺吧:試圖殺死一個nohup的過程,改變的PID
nohup server &
kill <PID>
不過,我不斷收到錯誤:
這是因爲PID不斷變化! 當我嘗試殺死當前PID時,nohup進程突然變成另一個PID! 下面是不斷調整PID的過程的屏幕截圖。
我列出的PID,然後嘗試使用殺吧:試圖殺死一個nohup的過程,改變的PID
nohup server &
kill <PID>
不過,我不斷收到錯誤:
這是因爲PID不斷變化! 當我嘗試殺死當前PID時,nohup進程突然變成另一個PID! 下面是不斷調整PID的過程的屏幕截圖。
我不認爲你很明白的錯誤消息。
nohup
只是啓動另一個進程(在您的示例中稱爲server
),防止終端啓動它斷開連接時獲取SIGHUP。
這裏的問題不在於改變PID(顯示PID是nohup
的PID時,臨時啓動),它是nohup
不能找到一個名爲server
在所有發射命令。
nohup: failed to run command ‘server’: No such file or directory
您的過程不是不斷地改變PID,而是反覆啓動過程,並且每次都得到一個新的PID。
nohup server &
啓動程序nohup
並告訴它推出server
。當nohup
找不到server
,它打印你看到錯誤消息和退出,因此你總是看到的
Exit 127 nohup server
消息。
感謝Joachim!這更有意義。如何找到我通過調用「nohup python test.py&」 – AllieCat
@AllieCat啓動的進程的PID的正確方法至少在Linux上,一旦你做了'nohup',就可以使用'$!'('echo $!'/'kill $!'/ ...)來處理pid。通常情況下,你可以將它回顯給一個文件,以便以後使用它。 –