Linux-Befehl kill
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 Verwendung
killFü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-Befehlsenzyklopädie