リモートサーバーで時間がかかるバッチジョブを実行するシェルスクリプトを作成しようとしています。 SSH経由でスクリプトを実行しましょう。
問題は、夜にスクリプトの作成を開始し、翌朝の結果を収集する予定です。バッチ処理中は不要なので、ローカルコンピュータを一晩中実行したくありません。それでは、SSH接続を閉じてリモートサーバーでシェルスクリプトを実行し続ける方法はありますか?
ベストアンサー1
1つの方法はnohupを使用することです。例は次のとおりです。
nohup your_prog.sh &
your_prog.sh
その後、バックグラウンドで呼び出されたプログラムが実行され、&
すべての出力がnohup.out
。
これで、次のコマンドを使用してバックグラウンドで実行されているプログラムの出力を監視できます。
tail -f nohup.out
このコマンドで起動されたプログラムは、明示的なコマンドで再起動または終了するまで(またはプログラムが終了するまで)nohup
実行され続けます。kill