15 Mart 2020 Pazar

kill komutu

-l seçeneği
Gönderilebilecek sinyalleri listelenir.
Örnek
Şöyle yaparız.
 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
kill -0
Ardından pid gelir. Açıklaması şöyle.
$ man 2 kill
...
If sig is 0, then no signal is sent, but error checking is still performed; 
this can be used to check for the existence of a process ID or process 
group ID.
...
Ben şöyle anlıyorum. kill ile normalde 1'den başlayan sinyaller uygulamaya gönderilir. kill -0 ile uygulamaya sinyal gönderme hakkımız olup olmadığını kontrol edebiliriz.

Örnek
Şöyle yaparız.
if ! kill -0 $(cat /path/to/file.pid); then
  ... do something ...
fi
pid 0 ise
Açıklaması şöyle.
If pid equals 0, then sig is sent to every process in the process group of the calling
 process.
pid değerini 0 olarak vermek istersek şöyle yaparız. -- seçeneklerin bittiğini gösterir.
kill -- -0
Böylece kill -0'dan farklı bir komut olduğu anlaşılır.

Hiç yorum yok:

Yorum Gönder