KILL(1) | Корисничке наредбе | KILL(1) |
НАЗИВ
kill - окончава процес
УВОД
kill [-сигнал|-s сигнал|-p] [-q вредност] [-a] [--timeout милисекунде сигнал] [--] пид|назив...
kill -l [number|0xsigmask] | -L
kill -d pid
ОПИС
Наредба kill шаље наведени сигнал наведним процесима или групама процеса.
Ако није наведен никакав сигнал, TERM сигнал се шаље. Основна радња за овај сигнал је да оконча процес. Овај сигнал треба да се користи у предности над KILL сигналом (број 9), како процес може да инсталира руковаоца за TERM сигнал да би обавио кораке чишћења пре окончавања на старији начин. Ако се процес не оконча након што је TERM сигнал послат, тада се сигнал KILL може користити; пазите да каснији сигнал не може бити ухваћен, и стога не даје циљном процесу могућност да обави никакво чишћење пре окончавања.
Већина савремених шкољки има уграђену наредбу kill, са коришћењем врло сличном оном наредби описаној овде. Опције --all, --pid, и --queue, и могућност за навођење процеса по називу наредбе, јесу локална проширења.
Ако је сигнал 0, тада се никакав актуелни сигнал не шаље, али се провера грешке још увек обавља.
АРГУМЕНТИ
Списак процеса који ће бити сигнализирани може бити мешавина назива и ПИД-ова.
пид
n
0
-1
-n
назив
ОПЦИЈЕ
-s, --signal сигнал
-l, --list [number|0xsigmask]
$ ps s $$ UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND 1000 1608069 0000000000000000 0000000000000002 0000000000384000 0000000008013003 Ss pts/44 0:02 zsh $ kill -l 0x0000000000384000 TERM TSTP TTIN TTOU
-L, --table
-a, --all
-p, --pid
-r, --require-handler
--verbose
-q, --queue вредност
--timeout милисекунде сигнал
Знајте да оперативни систем може поново да искористи ПИД-ове и да би примена еквивалентне функције у шкољци коришћењем kill-а и sleep-а била подложна утркивањима у којима би сигнал праћења могао бити послат другом процесу који је користио рециклирани ПИД.
Опција --timeout се може навести више пута: сигнали се шаљу у секвенцама са наведеним истецима времена. Опција --timeout се може комбиновати са опцијом --queue.
На пример, следећа наредба шаље сигнале QUIT, TERM и KILL у секвенцама и чека 1000 милисекунди између слања сигнала:
kill --verbose --timeout 1000 ТЕРМ --timeout 1000 УБИЈ \ --signal ИЗАЂИ 12345
-d, --show-process-state pid
$ kill -d $$ Blocked: INT Ignored: TERM TSTP TTIN TTOU Caught: HUP INT PIPE ALRM CHLD WINCH
ИЗЛАЗНО СТАЊЕ
kill има следеће вредности излазног стања:
0
1
64
БЕЛЕШКЕ
Иако је могуће навести ТИД (ИД нити, видите gettid(2)) једне од нити у вишенитном процесу као аргумент kill-а, сигнал се ипак усмерава на процес (тј. целој групи нити). Другим речима, није могуће послати сигнал изричито одабраној нити у вишенитном процесу. Сигнал ће бити испоручен произвољно одабраној нити у циљном процесу која не блокира сигнал. За више детаља, видите signal(7) и опис CLONE_THREAD-а у clone(2).
Различите шкољке пружају уграђену наредбу kill која је пожељнија у односу на извршну датотеку kill(1) описану у овом приручнику. Најлакши начин да се уверите да неко извршава наредбу описану на овој страници је да користите пуну путању приликом позивања наредбе, на пример: /bin/kill --version
АУТОРИ
Salvatore Valente <svalente@mit.edu>, Karel Zak <kzak@redhat.com>
Изворно издање је узето из BSD-а 4.4.
ПОГЛЕДАЈТЕ ТАКОЂЕ
bash(1), tcsh(1), sigaction(2), kill(2), sigqueue(3), signal(7) proc(5) proc_pid_status(5)
ПРИЈАВЉИВАЊЕ ГРЕШАКА
For bug reports, use the issue tracker https://github.com/util-linux/util-linux/issues.
ДОСТУПНОСТ
Наредба kill је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела https://www.kernel.org/pub/linux/utils/util-linux/.
2025-03-29 | util-linux 2.41 |