Linux-Befehl kill

Linux 命令大全Linux-Befehlsenzyklopädie

Der Linux-Befehl kill wird verwendet, um laufende Prozesse zu beenden.

Der Befehl kill kann verschiedene Signale an den Zielprozess senden, um unterschiedliche Operationen auszuführen. Wenn kein Signal angegeben wird, sendet er standardmäßig das TERM-Signal (15), das den Prozess beendet. Wenn das Programm weiterhin nicht beendet werden kann, können Sie das SIGKILL-Signal (9) verwenden, um zu versuchen, das Programm gewaltsam zu beenden.

Syntax

kill [options] <PID>

<PID> ist die Prozess-ID des zu beendenden Prozesses.

Parameterbeschreibung:

  • -l: Listet alle verfügbaren Signale auf.
  • -<signal>: Sendet ein bestimmtes Signal an den Zielprozess, zum Beispiel-9bedeutet das Senden des KILL-Signals, d. h. das gewaltsame Beenden des Prozesses.

Grundlegende Verwendung

Einen Prozess beenden:Standardmäßig sendet der Befehl kill SIGTERM (Signal 15), wodurch die Beendigung des Prozesses angefordert wird. Wenn der Prozess dieses Signal nicht abfängt, wird er beendet.

kill PID

Dabei ist PID die Prozess-ID.

Ein bestimmtes Signal senden:Über-sdie Option können Sie ein festgelegtes Signal senden.

kill -s SIGNAL PID

Zum Beispiel beendet das Senden von SIGKILL (Signal 9) den Prozess sofort; es kann weder ignoriert noch abgefangen werden.

kill -9 PID

Eine Prozessgruppe beenden:Verwenden Sie die Option -9, um die gesamte Prozessgruppe zu beenden.

kill -9 -PID

Verwenden Sie den Befehl kill -l, um alle verfügbaren Signale aufzulisten.

Die am häufigsten verwendeten Signale sind:

  • SIGKILL(Signal 9): Beendet den Prozess sofort; kann nicht abgefangen oder ignoriert werden.
  • SIGTERM(Signal 15): Beendet den Prozess normal; kann abgefangen oder ignoriert werden.
  • SIGSTOP(Signal 19): Hält den Prozess an; kann nicht abgefangen, ignoriert oder beendet werden.
  • SIGCONT(Signal 18): Führt die Ausführung eines angehaltenen Prozesses fort.
  • SIGINT(Signal 2): Normalerweise das durch Ctrl+C erzeugte Signal; es kann vom Prozess abgefangen oder ignoriert werden.

Beispiele

Beenden Sie den Prozess mit PID 1234:

kill 1234

Beenden Sie den Prozess mit PID 1234 zwangsweise:

kill -9 1234

Senden Sie SIGSTOP an den Prozess mit PID 1234:

kill -s SIGSTOP 1234

Signale anzeigen

# kill -l
1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX

Beenden Sie alle Prozesse eines angegebenen Benutzers:

kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
kill -u hnlinux //方法二

Hinweise

  • Bei VerwendungkillFür den Befehl benötigen Sie entsprechende Berechtigungen; andernfalls können Sie den Prozess möglicherweise nicht beenden.
  • Bei einigen Prozessen müssen möglicherweise mehrere Signale gesendet werden, bevor sie beendet werden, wie bei bestimmten Daemon-Prozessen.
  • Das zwangsweise Beenden eines Prozesses kann zu Datenverlust oder anderen Nebenwirkungen führen; verwenden Sie es daher mit Vorsicht.

Linux 命令大全Linux-Befehlsenzyklopädie

Andere Erweiterungen