GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum wird nach dem Beenden ein Ping ausgegeben?

Wenn ein Prozess unterbrochen wird, wird meines Wissens keine Ausgabe mehr zurückgegeben. Aber immer nach dem Brechen von ping Befehl haben wir die Statistik der Ausführung, und wie ich weiß, ist sie Teil der Ausgabe.

[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]:~$ 

Wie funktioniert es?

Akzeptierte Antwort:

Strg +C bewirkt, dass das Terminal SIGINT an die Prozessgruppe im Vordergrund sendet. Ein Prozess, der SIGINT empfängt, kann alles tun, er kann das Signal sogar ignorieren. Eine übliche Reaktion auf SIGINT ist das ordnungsgemäße Beenden, d. h. nach dem Aufräumen usw.

Ihr ping ist einfach gestaltet Statistiken nach SIGINT drucken und dann beenden.

Andere Tools werden bei SIGINT möglicherweise überhaupt nicht beendet. Z.B. Ein übliches Verhalten einer interaktiven Shell (während kein Befehl ausgeführt wird) besteht darin, ihre Befehlszeile zu löschen und die Eingabeaufforderung neu zu zeichnen.

SIGINT ist nicht das einzige Signal zum Beenden von Befehlen. Siehe Handbuch (man 7 signal ), gibt es viele Signale, deren Standardaktion darin besteht, den Prozess zu beenden. kill sendet standardmäßig SIGTERM. SIGTERM ist nicht SIGINT. Beide können ignoriert werden. SIGKILL kann nicht gefangen, blockiert oder ignoriert werden, aber es sollte Ihre letzte Wahl sein.


Linux
  1. Warum fügt die Ssh -t Option Cr &Lf in der umgeleiteten Ausgabe hinzu?

  2. Ist es möglich zu erkennen, wann eine Datei heruntergeladen wurde?

  3. Es wurde kein Schema zum Erstellen ausgewählt in ... Fehler

  4. Warum hat stdbuf keine Auswirkung auf Python?

  5. Warum wird von df und du eine Diskrepanz bei der Festplattennutzung gemeldet?

Es gab noch nie einen besseren Zeitpunkt, um Spiele unter Linux zu spielen

Apricity OS wurde eingestellt!

Linux Mint 19 wurde veröffentlicht [und es ist großartig]

Warum zeigt „weniger“ keine fette Ausgabe?

Ubuntu-Eingabe-/Ausgabefehler

Warum LXC, wenn es einen Linux-vserver gibt?