KILL(1) Comenzi utilizator KILL(1) NUME kill - termina un proces REZUMAT kill [-semnal|-s semnal|-p] [-q valoare] [-a] [--timeout milisecunde semnal] [--] pid|pid:_nod-i_pidfd_|nume... kill [-semnal|-s semnal] pid|pid:_nod-i_pidfd_... kill -l [numar|0xmasca-semnal] | -L kill -d pid DESCRIERE Comanda kill trimite semnalul specificat catre procesele sau grupurile de procese specificate. Daca nu se specifica niciun semnal, se trimite semnalul TERM. Aciunea implicita pentru acest semnal este de a incheia procesul. Acest semnal ar trebui utilizat de preferina faa de semnalul KILL (numarul 9), deoarece un proces poate instala un gestionar pentru semnalul TERM pentru a efectua pai de curaare inainte de a se incheia in mod ordonat. In cazul in care un proces nu se termina dupa ce a fost trimis un semnal TERM, atunci se poate utiliza semnalul KILL; reinei ca acest din urma semnal nu poate fi capturat i, prin urmare, nu ofera procesului inta posibilitatea de a efectua o curaare inainte de a se termina. Majoritatea shell-urilor moderne au o comanda kill incorporata, cu o utilizare destul de asemanatoare cu cea a comenzii descrise aici. Opiunile --all, --pid i --queue, precum i posibilitatea de a specifica procesele dupa numele comenzii sunt extensii locale. Daca semnalul este 0, atunci nu se trimite niciun semnal real, dar se efectueaza in continuare verificarea erorilor. ARGUMENTE Lista de procese care trebuie semnalate poate fi un amestec de nume i PID-uri. pid Fiecare pid poate fi exprimat intr-unul din urmatoarele moduri: n unde n este mai mare decat 0. Procesul cu PID n este semnalat. 0 Sunt semnalate toate procesele din grupul de procese curent. -1 Toate procesele cu un PID mai mare de 1 sunt semnalate. -n unde n este mai mare decat 1. Toate procesele din grupul de procese n sunt semnalate. Atunci cand se da un argument de forma ,,-n" i acesta trebuie sa indice un grup de procese, fie trebuie specificat mai intai un semnal, fie argumentul trebuie sa fie precedat de opiunea ,,--", altfel acesta va fi considerat ca fiind semnalul de trimis. pid:_nod-i_pidfd_ Un proces poate fi identificat prin combinaia dintre pid i pidfd_nod-i (pid:pidfd_nod-i), pentru a-l identifica in mod unic i a efectua semnalizarea fara conflicte. Aceasta funcionalitate este disponibila numai pentru opiunile -s, --signal i -signal. Necesita versiunea 6.9 sau o versiune ulterioara a nucleului. nume Toate procesele invocate folosind acest nume vor fi semnalate. OPIUNI -s, --signal semnal Semnalul care trebuie trimis. Acesta poate fi dat sub forma unui nume sau a unui numar. -l, --list [numar|0xmasca-semnal] Afieaza o lista de nume de semnale, convertete numarul semnalului dat intr-un nume sau convertete masca semnalului dat in nume. Semnalele pot fi gasite in /usr/include/linux/signal.h. $ 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 Daca nu se specifica nici NUMAR, nici 0xMASCA-SEMNAL, se afieaza toate numele semnalelor. In acest caz, se afieaza cate un semnal pe rand, daca ieirea nu este un terminal. -L, --table Similar cu -l, dar va afia numele semnalelor i numerele lor corespunzatoare. Afieaza un semnal pe linie cand ieirea nu este un terminal. -a, --all Nu se restricioneaza conversia numelui comenzii la PID, la procesele cu acelai UID ca i procesul actual. -p, --pid Afieaza doar ID-ul de proces (PID) al proceselor numite, nu trimite niciun semnal. -r, --require-handler Nu se trimite semnalul daca acesta nu este captat in spaiul utilizatorului de catre procesul semnalat. --verbose Afieaza PID-ul (PID-urile) care va (vor) fi semnalat(e) cu kill impreuna cu semnalul. -q, --queue valoare Trimite semnalul folosind sigqueue(3) in loc de kill(2). Argumentul valoare este un numar intreg care este trimis impreuna cu semnalul. In cazul in care procesul de recepie a instalat un gestionar pentru acest semnal utilizand fanionul SA_SIGINFO la sigaction(2), atunci acesta poate obine aceste date prin intermediul campului si_sigval al structurii siginfo_t. --timeout milisecunde semnal Trimite un semnal definit in mod obinuit catre un proces, urmat de un semnal suplimentar dupa o intarziere specificata. Opiunea --timeout face ca kill sa atepte o perioada definita in milisecunde inainte de a trimite un semnal suplimentar catre proces. Aceasta caracteristica este implementata folosind caracteristica descriptorului de fiiere PID din nucleul Linux pentru a garanta ca semnalul de urmarire este trimis aceluiai proces sau ca nu este trimis daca procesul nu mai exista. Reinei ca sistemul de operare poate reutiliza PID-urile, iar implementarea unei funcii echivalente intr-un shell care utilizeaza kill i sleep ar fi supusa unor situaii in care semnalul de urmarire ar putea fi trimis catre un proces diferit care utilizeaza un PID reciclat. Opiunea --timeout poate fi specificata de mai multe ori: semnalele sunt trimise secvenial cu temporizarile specificate. Opiunea --timeout poate fi combinata cu opiunea --queue. Ca exemplu, urmatoarea comanda trimite semnalele QUIT, TERM i KILL in succesiune i ateapta 1000 de milisecunde intre trimiterea semnalelor: kill --verbose --timeout 1000 TERM --timeout 1000 KILL \ --signal QUIT 12345 -d, --show-process-state pid Decodifica campurile referitoare la semnal in /proc/pid/status. $ kill -d $$ Blocked: INT Ignored: TERM TSTP TTIN TTOU Caught: HUP INT PIPE ALRM CHLD WINCH -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. STARE DE IEIRE kill are urmatoarele valori de stare de ieire: 0 succes 1 eec 64 succes parial (in cazul in care sunt specificate mai multe procese) NOTE Dei este posibil sa se specifice TID (ID-ul firului de execuie, a se vedea gettid(2)) al unuia dintre firele dintr-un proces cu mai multe fire ca argument pentru kill, semnalul este totui direcionat catre proces (adica catre intregul grup de fire). Cu alte cuvinte, nu este posibil sa se trimita un semnal catre un fir selectat in mod explicit intr-un proces cu mai multe fire. Semnalul va fi transmis unui fir selectat in mod arbitrar in procesul inta care nu blocheaza semnalul. Pentru mai multe detalii, a se vedea signal(7) i descrierea CLONE_THREAD din clone(2). Diferite shell-uri ofera o comanda kill incorporata care este preferata in raport cu executabilul kill(1) descris in acest manual. Cel mai simplu mod de a va asigura ca se executa comanda descrisa in aceasta pagina este sa utilizai ruta completa atunci cand apelai comanda, de exemplu: /bin/kill -versiunea AUTORI Salvatore Valente , Karel Zak Versiunea originala a fost preluata din BSD 4.4. CONSULTAI I bash(1), tcsh(1), sigaction(2), kill(2), sigqueue(3), signal(7) proc(5) proc_pid_status(5) RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda kill face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.42.3 2026-09-02 KILL(1)