nohup で実行してもプロセスが終了してしまう場合

Windows 10 上で、ターミナル(TeraTerm)から Linux サーバーマシンにログインして、そこから、終了まで時間がかかるコマンドを実行したかったのです。

で、こういう場合、nohup というコマンドで実行しておけば、実行したシェルがなくなっても(ターミナルを exit しても)、そのコマンド(プロセス)は実行され続けるという認識でした。

 

> nohup example.sh &

 

しかし、ターミナルを exit すると、プロセスが死んでしまう。

なぜだ?

色々調べた結果、シェル上で事前に、

 

shopt  -u huponexit

 

というコマンドを実行しておけば、大丈夫そうなことが分かりました。

普段やらないことをやると、ほぼ確実にハマるけど、勉強にはなりますね。

 

タイトルとURLをコピーしました