ssh セッションを閉じたり再起動したりすると、そのセッションで実行されているプログラムが終了しますか?

ssh セッションを閉じたり再起動したりすると、そのセッションで実行されているプログラムが終了しますか?

Web コンソールを使用して AWS インスタンスに SSH 接続しています。その後、xrdp セッションを開始しますが、セッションは SSH を経由しません。

ただし、この ssh セッションを再起動または停止すると、このセッション内で実行したすべてのものも強制終了されます (たとえば、xrdp)。"&" でバックグラウンドにフォークした場合でも、これが想定される動作なのか、ブラウザ経由の ssh セッションに関連するものなのかはわかりません。これを修正し、このセッション内の各プログラムを強制終了しないようにするためのアイデアがあれば、ぜひ教えてください :)

答え1

これは、端末制御プロセスが終了すると、SIGHUPそのすべての子プロセスに端末がハングアップしたことを通知するSIGHUPメッセージを送るため、想定される動作です。子プロセスによって処理される方法は、子プロセスによってのみ異なります。プロセスをバックグラウンドにすることは、シグナルをブロックしません。子プロセスを端末から切り離すだけです。切断信号nohupたとえば、でプログラムを実行する必要がありますnohup myprogram &。ほとんどの場合、これで問題は解決するはずです。

関連情報