私はssh
サーバーにアクセスしてwget -r -np zzz.aaa/bbb/ccc
を実行しました そしてそれは働き始めました。その後、(自宅での)インターネット接続が中断され、wget
だと思って心配しました。 hup
されています ssh
のためにped 接続が失われたため、端末が停止しました。しかし、私はssh
サーバーがまだ実行中であり、出力をwget.log
に入れていることに気づきました。 ものをダウンロードします。ここで何が起こったのか誰かに説明してもらえますか?
これがps
です 私に与える:
PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
32283 0.6 29.4 179824 147088 ? S 14:00 1:53 wget -r -np zzz.aaa/bbb/ccc
何をしますか(疑問符)?
tty
の列の意味 ?
承認された回答:
プログラム(およびスクリプト)は、KILL
のようないくつかを除いて、ほとんどのシグナルを無視することを選択できます。 。 HUP
ソフトウェアが望む場合は、信号をキャッチして無視することができます。
これはsrc/main.c
からのものです wget
の ソース(バージョン1.19.2):
/* Hangup signal handler. When wget receives SIGHUP or SIGUSR1, it
will proceed operation as usual, trying to write into a log file.
If that is impossible, the output will be turned off. */
シグナルハンドラーの少し下にインストールされています:
/* Setup the signal handler to redirect output when hangup is
received. */
if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
signal(SIGHUP, redirect_output_signal);
つまり、wget
のように見えます 無視ではありません HUP
シグナルですが、出力をログファイルにリダイレクトして処理を続行することを選択します。
コメントでリクエスト:?
の意味 TTY
で ps
からの出力の列 問題は、wget
プロセスはもはや端末/TTYに関連付けられていません。 SSH接続がダウンすると、TTYはなくなりました。