プロセス終了後に画面が終了するのを防ぐ方法

プロセス終了後に画面が終了するのを防ぐ方法

次の名前付き画面でプロセスを開始します。

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の場合、実行中のプログラムが終了したウィンドウは閉じずに開いていますが、非アクティブのままです。

おすすめ記事