SSHインスタンスが終了しても、SSH内で実行されるシェルスクリプトは引き続き実行できますか? [コピー]

SSHインスタンスが終了しても、SSH内で実行されるシェルスクリプトは引き続き実行できますか? [コピー]

リモートサーバーで時間がかかるバッチジョブを実行するシェルスクリプトを作成しようとしています。 SSH経由でスクリプトを実行しましょう。

問題は、夜にスクリプトの作成を開始し、翌朝の結果を収集する予定です。バッチ処理中は不要なので、ローカルコンピュータを一晩中実行したくありません。それでは、SSH接続を閉じてリモートサーバーでシェルスクリプトを実行し続ける方法はありますか?

ベストアンサー1

1つの方法はnohupを使用することです。例は次のとおりです。

nohup your_prog.sh &

your_prog.shその後、バックグラウンドで呼び出されたプログラムが実行され、&すべての出力がnohup.out

これで、次のコマンドを使用してバックグラウンドで実行されているプログラムの出力を監視できます。

tail -f nohup.out

このコマンドで起動されたプログラムは、明示的なコマンドで再起動または終了するまで(またはプログラムが終了するまで)nohup実行され続けます。kill

おすすめ記事