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

終了した後、なぜPingの出力があるのですか?

プロセスが中断すると、私が知っているように、出力はもう返されません。ただし、常にpingを中断した後 コマンドには実行の統計があり、私が知っているように、それは出力の一部です。

[email protected]:~$ ping 4.2.2.4
PING 4.2.2.4 (4.2.2.4) 56(84) bytes of data.
64 bytes from 4.2.2.4: icmp_seq=1 ttl=51 time=95.8 ms
64 bytes from 4.2.2.4: icmp_seq=2 ttl=51 time=92.3 ms
^C
--- 4.2.2.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 92.321/94.052/95.783/1.731 ms
[email protected]:~$ 

どのように機能しますか?

承認された回答:

Ctrl + C 端末にSIGINTをフォアグラウンドプロセスグループに送信させます。 SIGINTを受信するプロセスは何でも実行でき、シグナルを無視することもできます。 SIGINTに対する一般的な反応は、正常に終了することです。つまり、クリーンアップした後などです。

ping 単に設計されています SIGINTに統計を出力してから、終了します。

他のツールは、SIGINTでまったく終了しない場合があります。例えば。対話型シェルの通常の動作(コマンドを実行していないとき)は、コマンドラインをクリアしてプロンプトを再描画することです。

コマンドを終了するように設計されたシグナルはSIGINTだけではありません。マニュアルを参照してください(man 7 signal )、デフォルトのアクションがプロセスを終了することである多くのシグナルがあります。 kill デフォルトでSIGTERMを送信します。 SIGTERMはSIGINTではありません。どちらも無視できます。 SIGKILLをキャッチ、ブロック、または無視することはできませんが、最後に選択する必要があります。


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

  2. 「ヨーロッパ英語」ロケールがないのはなぜですか?

  3. ファイルがダウンロードされたことを検出することは可能ですか?

  1. Linux 用の DirectX API がないのはなぜですか?

  2. 作成するスキーマが選択されていません ... エラー

  3. 物理ドライブを取り外した後の vg と lv の削除

  1. 間違ったパスワードを入力した後、なぜ大きな遅延があるのですか?

  2. Lsからの出力には改行がありますが、1行で表示されます。なんで?

  3. 所有権を剥奪されてターミナルを失ったプロセスの出力はどうなりますか?