次の名前付き画面でプロセスを開始します。
screen -dmS myscreen bash -c "export VAR=123; cd /usr/local/myproject; ./myscript.py"
ただし、数分後にスクリプトがクラッシュして終了すると画面が終了するため、デバッグ出力は表示されません。私のスクリプトは手動で画面に接続するのに十分な長さで実行されていますが、画面はまだ自動的に終了して私を追いかけます。
実行中のプロセスが停止したときに画面が終了するのを防ぐ方法は?
ベストアンサー1
出力をless
ファイルにパイプしてtee
ファイルにパイプするless
か、sleep 99999
コマンドの後に "pause"コマンドを追加できます。
screen -dmS myscreen bash -c "export VAR=123; cd /usr/local/myproject; ./myscript.py; sleep 9999"
とにかくからに切り替えることをお勧めしscreen
ますtmux
。これコマンドを実行して終了した後に維持する方法を理解するための質問です。
bash -i
デフォルトではコマンドの最後に追加できます。
tmux start-server
tmux new-session -d
tmux new-window 'ls;bash -i'
またはあなたは使用することができますこれオプションremain-on-exit
終了時の保存設定 [on |leave]
このオプションがtrueの場合、実行中のプログラムが終了したウィンドウは閉じずに開いていますが、非アクティブのままです。