Linuxサーバーにリモート接続してプログラムを実行します。ローカルコンピュータがシャットダウンすると、Linuxサーバープログラムも壊れます。解決策

Linux サーバーにリモート接続してプログラムを実行します。ローカル コンピュータがシャットダウンすると、Linux サーバー プログラムも切断されます。これは、接続が切断された後、端末が SIGHUP (ハングアップ) 信号を受信するためです。セッションのサブプロセスを閉じます。

この問題を解決するには、いくつかの方法があります。
1. nohup コマンドを使用し、コマンドの前に nohup を追加し、コマンドの後に & 記号を追加して、プログラムをバックグラウンドで実行し、SIGHUP シグナル 1 を無視します。例: nohup ping 127.0.0.1 &。nohup は、プログラムの出力を現在のディレクトリまたは $HOME ディレクトリにある nohup.out ファイルにリダイレクトします。
2. screen コマンドを使用して仮想端末を作成し、そこでプログラム 2 を実行します。例: screen -S name は name という名前の仮想端末を作成し、その中でプログラムを実行します。仮想ターミナルを終了する場合は、Ctrl+A+D キーの組み合わせを押します。仮想端末に再度入りたい場合は、screen -r name コマンドを使用できます。
3. Ctrl+Z キーの組み合わせを使用してプログラムを一時停止し、bg コマンドを使用してプログラムをバックグラウンドに置きます。たとえば、python tt.py プログラムを実行し、Ctrl+Z を押して一時停止し、「bg %1」と入力してバックグラウンドに置きます。

2つ目の方法はこちら

screen -S name

ここに画像の説明を挿入
新しい端末
ここに画像の説明を挿入
を開いて環境をアクティブ化し、
ここに画像の説明を挿入
visdom を開き
ここに画像の説明を挿入
、セッションを開き、前の手順を繰り返し、ネットワークをトレーニングし、リモート接続を閉じます。リモート接続を再度開き、
ここに画像の説明を挿入
と入力して

ここに画像の説明を挿入
新しいセッションを開き、次に入力してください
ここに画像の説明を挿入
まだ実行中であることがわかったら、終了です。
画面を閉じるコマンド

1. Ctrl + A、Ctrl + \ - 画面を終了し、画面内で実行中のすべてのプログラムを終了します。このコマンドは、tty 接続を閉じる必要がある場合の使用に適しています。
2. Ctrl + D、D または Ctrl + A、Ctrl + D - 画面を「最小化」し、バックグラウンドで実行します。このコマンドは、画面を一時的に離れる必要があるが、画面を閉じたくない場合に使用するのに適しています。screen -r で復元できます。
3. Ctrl + A、Q - 現在の領域を除くすべての領域を閉じます。
4. Ctrl + A、X - 現在の領域を閉じます。
同名のセッションが2つある場合

There are several suitable screens on: 
145282.name (03/09/2023 07:23:56 AM) (Detached) 
130910.name (03/08/2023 01:00:00 PM) (Detached) 

方法

screen -d -r 145282.name
Ctrl + A, Ctrl + \ (或者输入exit)
screen -d -r 130910.name
Ctrl + A, Ctrl + \ (或者输入exit)

おすすめ

転載: blog.csdn.net/qq_40721108/article/details/129411611
おすすめ