2018年9月22日土曜日

nohup コマンド

nohup コマンド

nohup コマンドは、ハングアップシグナル(SIGHUP, HUP)を無視するかたちでコマンドを実行させるコマンドです。
例えば、ターミナルが突然切断された等の理由(TeraTermを×で閉じるとか、切断するとか)でクローズされる場合、その端末から起動されたプロセスグループにはHUPシグナルが送信されます。このHUPシグナルを受けて、それまで実行していたプログラムは終了しますが、nohup コマンドを使ってプログラムを実行した場合は、このHUPシグナルを無視するので、結果、そのプログラムは処理を続けます。
memo
bash、tcsh、ksh をデフォルト設定のまま使っていれば、'&'をつけてコマンドを実行するだけでログアウトしても処理は継続されます。zshの場合はログアウト時もHUPシグナルが送信されますので、処理は終了します。
bashを使っていても、以下のように、
# shopt -s huponexit  ← huponexitをONに変更。OFFにするには、「-u」オプションを使う
の設定をあらかじめしてあるとログアウト時にHUPシグナルが送信されます。
zshを使っていたり、huponexit が on になっていたりする場合で、ログアウト後も処理を継続したい場合は、nohupを使います。

0 件のコメント:

コメントを投稿

M4 MaxのRoo Codeから自宅ラズパイk8sクラスターをMCPで「完落ち」させるまで③

完成後、MCP経由で自作のraspberry piにリソースの作成や削除などの実験をしてみました。 現時点で、思うこととして、障害時にログの分析や作成や削除に関する助言として受け入れるには頼りになるなって思いました。 [頼りにならない動作について] 削除についてですが、names...