
SSHを介してかなり長く続くスクリプト(30分以上実行可能)を起動し、対応するStdOut / StdErrと戻りコードを収集する必要があります。
プロセスがサーバー上のリソースを占有し、ネットワークの問題によってセッションが閉じられる可能性があるため、同じSSHセッションでプロセスが終了するのを待たないようにするには、プロセスを開始してセッションを切断して結果を確認することをお勧めします。後で。
私はこれが関連していると思いましたが、nohup
SSHセッションでこれを行うと次のようになります。
(somelongrunningscript.sh >test.out 2>test.err; echo $? >test.rc) & exit 0
セッションが閉じた後も、スクリプトは実行を続けます。サブシェルを使用しなくても引き続き実行されます。
somelongrunningscript.sh >test.out 2>test.err & exit 0
(ただし、返品コードは収集できません。)
それでは、提供された保護なしにスクリプトが実行され続けるのはなぜですかnohup
?私は何を逃したことがありませんか?私だけ運がいいのかな?