GNU/Linux >> Linux の 問題 >  >> Linux

Ssh接続が失われた後にWgetが死ななかったのはなぜですか?

私は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 シグナルですが、出力をログファイルにリダイレクトして処理を続行することを選択します。

コメントでリクエスト:?の意味 TTYpsからの出力の列 問題は、wget プロセスはもはや端末/TTYに関連付けられていません。 SSH接続がダウンすると、TTYはなくなりました。


Linux
  1. サーバーが私のIPをブロックしたのはなぜですか?

  2. 正規表現がXで機能するのに、Yでは機能しないのはなぜですか?

  3. LAN内からのSSH接続が拒否されましたか?

  1. `md5sum`がインターネットと同じハッシュを与えないのはなぜですか?

  2. コマンドが見つからないのになぜ長い遅延があるのですか?

  3. 実行後にBashスクリプトが終了しないのはなぜですか?

  1. 接続を失った後にSshセッションを回復/強制終了する方法は?

  2. Linuxディスプレイをエクスポートできないのはなぜですか?

  3. Linux カーネルの pr_debug が何も出力しないのはなぜですか?