kill (Unix)
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.
Sintaxa
[modificare | modificare sursa]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:
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.
Implementare
[modificare | modificare sursa]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().
Exemple
[modificare | modificare sursa]Presupunand ca avem un proces cu identificatorul 1234, SIGTERM (15) poate fi trimis in urmatoarele moduri:
kill 1234kill -s TERM 1234
kill -TERM 1234
kill -15 1234
Un semnal SIGKILL poate fi trimis in trei moduri:
kill -s KILL 1234kill -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.
Vezi si
[modificare | modificare sursa]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 | |