SSHを介してリモートクライアントでいくつかのプロセスを実行しています。
時にはプロセスを終了することができます。kill
。終了コード/信号を取得するには?このプログラムはPHPスクリプトです。
sh -c
pidとppidを取得できるようにスクリプトを実行します。
sh -c 'echo $PPID; echo $$; php script.php'
親process()でコードを受信/インポートすることは可能ですかsh -c
?
pidが実行されているかどうかを確認できますが、停止すると正常に完了したかどうか、エラーが発生したか終了したかはわかりません。
終了コードを取得するために使用できることはわかっていますが、$?
プロセスが終了すると機能しますか?
答え1
sh -c 'echo $PPID; echo $$; php script.php; echo $? > phpexit'; echo $? > shexit
終了コードがファイルphp
に含まれています。phpexit
終了コードがファイルsh
に含まれています。shexit
sh
プロセスが終了すると、phpexit
ファイルは生成されません。
PIDを印刷してスクリプトを正常に終了、実行、または終了することで、pkill php
これらのそれぞれの精度を確認できますecho $$
。
また、見ることができます特別な意味を持つ終了コード。