Různé příkazy se používají k odesílání signálů procesům k jejich ukončení nebo „zabití“. To je nezbytné, když proces přestane reagovat (zablokuje se), způsobí nestabilitu systému nebo se nepodaří vzdát kontroly nad souborem, který se pokoušíte upravit.
Příkaz „kill“ odešle libovolný zadaný signál nebo ve výchozím nastavení ukončovací signál jednomu nebo více procesům. Jako argument musí být zadáno PID.
Následuje několik příkladů implementace signálů zabíjení. Chcete-li elegantně ukončit proces s ID 921:
# kill 15 921
Pokud se tak nestane, proces okamžitě ukončíte:
# kill 9 921
Případně proces pozastavit, než úplně odstranit:
# kill 17 921
Pokud při spouštění příkazu kill narazíte na níže uvedenou chybu:
kill: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:
Distribuce OS | Příkaz |
---|---|
Debian | instalační procps apt-get |
Ubuntu | instalační procps apt-get |
Alpine | apk add procps |
Arch Linux | pacman -S procps-ng |
Kali Linux | instalační procps apt-get |
CentOS | yum install procps-ng |
Fedora | dnf install procps-ng |
Raspbian | instalační procps apt-get |
Příklady příkazů kill
1. Chcete-li získat seznam signálů:
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. Chcete-li odeslat konkrétní signál:
# kill -s 9
3. Chcete-li zadat seznam procesů pro ukončení:
# kill 1234 2345 3456
4. Ukončete program pomocí výchozího signálu SIGTERM (ukončení):
# kill process_id
5. Ukončete úlohu na pozadí:
# kill %job_id
6. Ukončete program pomocí signálu SIGHUP (zavěsit). Mnoho démonů se místo ukončení znovu načte:
# kill -1|HUP process_id
7. Ukončete program pomocí signálu SIGINT (přerušení). To je obvykle zahájeno stisknutím kláves `Ctrl + C`:
# kill -2|INT process_id
8. Dejte operačnímu systému signál, aby okamžitě ukončil program (který nemá šanci zachytit signál):
# kill -9|KILL process_id
9. Dejte operačnímu systému signál, aby pozastavil program, dokud nebude přijat signál SIGCONT („pokračovat“):
# kill -17|STOP process_id
10. Odešlete signál `SIGUSR1` všem procesům s daným GID (ID skupiny):
# kill -SIGUSR1 -group_id