
PHP プロセスを実行するシェル スクリプトを作成しました。しかし、バックグラウンドでは実行されていませんでした。実行中の PHP プロセスを終了せずに、シェル スクリプトを終了できますか?
答え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 を見つけます。上記の kill 行を使用して、子を親から効果的に分離します。次に、fg
シェル スクリプトに戻ると、正常に終了するはずです。または、プロンプトで PID または名前を直接指定してシェル スクリプトを実行することもできますkill -9
。そうしないと、親を kill すると (最終的に) 子が削除されます。