Ssh ログアウトでプログラムを実行し続ける方法
ssh
セッションなしでジョブを実行し続ける必要がある場合があります.これを実現する方法は 3 つあります. Linux/Unix システムで長時間作業している場合は、ターミナル マルチプレクサーを長期的に学習することをお勧めします.オプション 1: nohup
最良かつ最も簡単な方法は次のとおりです.
nohup long-running-command &
このために特別に作成されました.デフォルトでは、標準出力が
nohup.log
に記録されます.標準出力が端末でない場合、ログは ~/nohup.log
に追加されます.出力ログを別のファイルに指定する場合:nohup COMMAND > FILE
詳細は
man nohup
を参照してください. nohup
が行うことは、プロセスを端末から効果的に分離することです.EOF
を受け取ります). nohup.out
にリダイレクトするため、端末に障害が発生してもプログラムは標準出力への書き込みに失敗せず、プロセスが書き込むものはすべて失われません. SIGHUP
(したがって名前) を受け取るのを防ぎます. オプション 2: bg + disown
プログラムを既に開始していて、再起動したくない場合は、
ctrl+z
を使用して現在の実行を停止し、bg
を使用して再開し、実行中のプログラムをバックグラウンドに切り替えることができます (fg
を使用して、ジョブをフロントグラウンドにプルできます).最後に、
disown
を使用して、シェルのジョブ コントロールからプロセスを削除します.したがって、
ssh
セッションからログアウトしても、プログラムは引き続きバックグラウンドで実行されます.ctrl+zbgdisown -h
オプション 3: 端末マルチプレクサーを使用する
これには、[[screen]]、[[tmux]]、[[byobu]] の 3 つの選択肢があります.
screen
と tmux
はよく使われるものです. Ubuntu または Debian システムでは、次のようにインストールします.sudo apt-get install screen sudo apt-get install tmux
Byobu は GNU Screen の拡張機能です.次のコマンドでインストールできます.
sudo add-apt-repository ppa:byobu/ppasudo apt-get updatesudo apt-get install byobu
Reference
この問題について(Ssh ログアウトでプログラムを実行し続ける方法), 我々は、より多くの情報をここで見つけました https://dev.to/snj/how-to-keep-a-program-running-with-ssh-logout-36e7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol