788 views
この記事は最終更新から 674日 が経過しています。
【1】やりたいこと
(1) Windowsパソコンで Terminalソフトを起動して Linuxマシンにリモート接続する。
(2) Terminal上で処理時間が 24時間を超えるプログラムの実行を開始する。
(3) Windowsパソコンをシャットダウンする。
→ SSHセッションが切れて、(2)のプログラムがシャットダウンする…
を、回避したい。
【2】やってみる
(1) hungup signalを無視させる。
SSHセッション切断によるプログラム終了を回避するため、nphup コマンドで、ハングアップシグナルを無視させる。
nohup my_command &
(2) ログを出力させ続けたい。
ログファイルには、以下の両方を出力させたい。
・stdout : 標準出力
・stderr : 標準エラー出力
nohup my_command > output.log 2>&1 &
2>&1 は、stderr(discriptor 2)を stdout(discriptor 1)にマージさせる指定
これにより、上記【1】の手順は以下のように変わる。
(1) Windowsパソコンで Terminalソフトを起動して Linuxマシンにリモート接続する。
(2) Terminal上で処理時間が 24時間を超えるプログラムの実行を開始する。
(3) Windowsパソコンをシャットダウンする。
→ SSHセッションが切れても、(2)のプログラムは動き続ける。
(4) 24時間後、Windowsパソコンを起動し、SSHで Linuxマシンにリモート接続する。
(5) ログを参照し、プログラムの実行結果を確認する。
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-12-14: 0回 2025-12-13: 1回 2025-12-12: 3回 2025-12-11: 2回 2025-12-10: 0回 2025-12-09: 0回 2025-12-08: 1回