リモートホストにSSHを介して複数のプロセスを開始し、プロセスが終了する前に接続を切断するとします。この過程で何が起こりますか?
続きますか?
答え1
プロセスはsshを介して開いたシェルの子プロセスであるため、シェルからログアウトするとすぐに(切断)、プロセスは終了します。
この問題を解決するには、さまざまな方法を使用できます。
nohup
以下を使用してプログラムを起動し(中断せずに)キャンセルします。nohup somecommand & disown %1
出力パイプを(との間)
$PWD/nohup.out
削除する場合は、すべての出力をファイルにリダイレクトします。/dev/null
somecommand
&
GNU Screenやtmuxなどの端末マルチプレクサを使用してください。
tmux #Inside tmux somecommand
Ctrl次に+Bとを使用してtmuxセッションから切り離しますD。これで安全に切断できます。別のシェルで tmux セッションを再開するには、次のようにします。
tmux a
今、あなたはあなたが去ったシェルに戻ってきました。