Dark Mode

Sari la continut

kill (Unix)

De la Wikipedia, enciclopedia libera

Comanda UNIX kill este folosita pentru a trimite un semnal unui proces. Unul din semnalele cele mai des trimise este SIGKILL. Semanlul este folosit pentru a termina procesul, de unde si numele comenzii.

kill [-s semnal] pid
kill [-l] semnal

unde semnal este valoarea numerica a semnalului, iar pid este identificatorul procesului (in engleza process identifier). Daca semnalul nu este specificat, implicit se trimite semanlul SIGTERM. Ca si SIGKILL, SIGTERM termina procesul, diferenta este ca SIGTERM poate fi interceptat de proces, in timp ce SIGKILL nu poate fi interceptat, iar procesul este terminat imediat.

Toate semnalele cu exceptia SIGKILL si SIGSTOP pot fi interceptate de un proces. SIGSTOP ingheata executia unui proces, repornirea procesului se face cu SIGCONT.


Optiunea -l listeaza toate semnalele care pot fi trimise:

# 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

Numarul de dinaintea semnalului este numarul folosit in comanda pentru a specifica semnalul.


kill este implementat de obicei cu ajutorul apelului de sistem kill(). Apelul trimite un semnal unui proces sau unui grup de procese specificate prin identificatorul de proces. Implementari alternative pot sa includa apelul de sistem sigqueue().


Presupunand ca avem un proces cu identificatorul 1234, SIGTERM (15) poate fi trimis in urmatoarele moduri:

kill 1234
kill -s TERM 1234
kill -TERM 1234
kill -15 1234

Un semnal SIGKILL poate fi trimis in trei moduri:

kill -s KILL 1234
kill -KILL 1234
kill -9 1234

Un semnal SIGINT poate fi generat foarte simplu apasand tastele Control-C, SIGTSTP se obtine apasand Control-Z, in timp ce SIGQUIT se obtine apasand Control-\ (backslash). Acesta din urma forteaza terminarea programului si generarea unui core dump. Unele programe precum Apache, Sendmail sau xinetd folosesc semnalul SIGHUP pentru a-si reincarca datele de configurare.


Legaturi externe

[modificare | modificare sursa]
  • en Pagina de manual
  • en kill, Commands & Utilities Reference, The Single UNIX(r) Specification, Issue 7 from The Open Group


v * d * m Programe in linia de comanda pentru Unix (mai multe)
Gestionare de fisiere: cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch
Gestionare de procese: at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait
Gestionare de utilizator/mediu: env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write
Procesare text: awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs
Programare Shell: basename | echo | expr | false | printf | test | true | unset Imprimare:
lp
Communicatii:
inetd | netstat | ping | rlogin | traceroute
Cautare:
find | grep | strings
Diverse:
banner | bc | cal | dd | man | size | yes