如何在不殺死子進程的情況下殺死父shell腳本進程?

如何在不殺死子進程的情況下殺死父shell腳本進程?

我編寫了運行 PHP 進程的 shell 腳本。但它沒有在後台運行。我可以在不終止正在執行的 PHP 進程的情況下終止 shell 腳本嗎?

答案1

是的,但是你必須先把它分開。若要將子進程與父進程分離,請執行:

kill -20 PID

kill -18 PID

也可以看看:https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup

如果您與進程位於相同終端,請鍵入ctrl-z以停止父進程,然後使用ps -ef尋找 php 子進程的 PID。使用上面的殺戮線可以有效地將孩子與父母分開。然後fg回到您的 shell 腳本,它應該正常終止,或者您可以kill -9在出現提示時直接透過 PID 或名稱來執行 shell 腳本。否則,殺死父母(最終)會殺死孩子。

相關內容