プロセスが完了した後に終了コード/信号を取得する

プロセスが完了した後に終了コード/信号を取得する

SSHを介してリモートクライアントでいくつかのプロセスを実行しています。

時にはプロセスを終了することができます。kill。終了コード/信号を取得するには?このプログラムはPHPスクリプトです。

sh -cpidと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 $$

また、見ることができます特別な意味を持つ終了コード

関連情報