Zuerst müssen Sie wissen, was Signale in Unix-ähnlichen Systemen sind (dies dauert nur wenige Minuten).
Signale sind Software-Interrupts, die an ein (laufendes) Programm gesendet werden, um anzuzeigen, dass ein wichtiges Ereignis aufgetreten ist.
Die Ereignisse können von Benutzeranforderungen bis zu unzulässigen Speicherzugriffsfehlern variieren. Einige Signale, wie das Interrupt-Signal, zeigen an, dass ein Benutzer das Programm aufgefordert hat, etwas zu tun, das nicht im üblichen Steuerungsfluss liegt.
Es gibt verschiedene Arten von Signalen, die wir verwenden können. Um eine vollständige Liste aller verfügbaren / möglichen Signale zu erhalten, verwenden Sie den Befehl " $ kill -l ":
In der obigen Ausgabe ist deutlich zu erkennen, dass jedem Signal eine ' Signalnummer ' (z. B. 1, 2, 3) und ein ' Signalname ' (z. B. SIGUP, SIGINT, SIGQUIT) zugeordnet sind. Besuchen Sie diesen Link , um einen detaillierten Überblick über die Funktionen der einzelnen Signale zu erhalten .
Zum Schluss noch die Frage "Warum Nummer 9 im Befehl kill -9 ":
Es gibt verschiedene Methoden, um Signale an ein Programm oder Skript zu senden. Eine der am häufigsten verwendeten Methoden zum Senden von Signalen ist die Verwendung des Befehls kill. Die grundlegende Syntax lautet:
$ kill -signal pid
Dabei ist das Signal entweder die Nummer oder der Name des Signals, gefolgt von der Prozess-ID (pid), an die das Signal gesendet wird.
Beispiel: -SIGKILL (oder -9 ), Signal beendet den Prozess sofort.
$ kill -SIGKILL 1001
und
$ kill -9 1001
Beide Befehle sind dasselbe, dh oben haben wir den 'Signalnamen' und später die 'Signalnummer' verwendet.
Urteil : Man hat die freie Wahl, ob man mit dem Befehl kill den 'Signalnamen' oder die 'Signalnummer' verwendet .