一時的にSSHセッションを切断すると、実行中のプログラムに影響しますか?

一時的にSSHセッションを切断すると、実行中のプログラムに影響しますか?

リモートLinuxサーバーとのSSHセッション中にインターネット接続が失われ、短時間で再接続すると、SSHセッションがまだ存在することがわかりました。

サーバー上でプログラムを実行し、そのプログラムの stdout 出力と stderr 出力をファイルにリダイレクトすると、一時的なインターネットの損失によりプログラムが実行されないようです。

しかし、接続を切断するとファイルの内容に影響しますか?そうではないと思った。インターネット接続が失われずにプログラムを再実行したときにファイルの内容が何度も繰り返されないことがわかりましたが、インターネット接続が切断されたことが原因であるかどうかはわかりません。

答え1

セッションがアクティブのままであれば、アクティブのままです。何のトリックもなく、バッファとTCPだけが必要です。

したがって、SSHセッションへの接続が失われ、「悪い」インターネット接続のために復元された場合、そのセッションで実行されているアプリケーションはそれを全く知りません。会議は続きます。

コンソールの表示中にモニターを切断するのと同じように、そのコンソールで実行されているアプリケーションに影響を与えないでください。

答え2

しかし、接続を切断するとファイルの内容に影響しますか?そうではないと思った。

接続が切断されると、セッションが終了し、シェルとコマンドが終了します。接続が失われてもリモートサーバーでコマンドを実行するには、接続が悪いnohupコマンド、screenマルチプレクサtmux、またはシェルを見つける必要があります。mosh

答え3

接続が失われたときにプログラムを実行し続けるには、次のようにします。画面。その後、意図的にSSH接続を切断し、数時間または数日後に戻って再接続することができます(もちろん、コンピュータが再起動されないか、プログラムを終了するための別のアクションがない限り)。

関連情報