kill - убиение процесса
sh# ps ax | grep syslogd
470 ?? Is 0:02,30 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s
89203 pa RL+ 0:00,00 grep syslog
Видим что у syslogd pid=470
Можно сделать так:
sh# cat /var/run/syslog.pid
470
Если взять это в кавычки ``, то комманда вернёт значение:
sh# kill `cat /var/run/syslog.pid`
Это будет выглядеть так и будет равносильно kill 470
Можно получить список сигналов коммандой:
sh# kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP
TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 LWP
Если указываем kill 470 без дополнительных сигналов, то это равносильно
тому что мы послали сигнал TERM, хотя можем указать -9 (безусловный килл)
Можно посылать либо так:
sh# kill -1 `cat /var/run/syslog.pid`
либо так:
sh# kill -s HUP `cat /var/run/syslog.pid`
Это будет одно и тоже.
1 - HUP (перечитать конфиг)
2 - INT (прерывание)
3 - QUIT (выход)
6 - ABRT (прерывание)
9 - KILL (непрерываемое, неперехватываемое завершение)
14 - ALRM (сигнальный таймер)
15 - TERM (софтверный сигнал завершения)
Ниже приедены значения:
1 - HUP (перечитать конфиг)
2 - INT (прерывание)
3 - QUIT (выход)
6 - ABRT (прерывание)
9 - KILL (непрерываемое, неперехватываемое завершение)
14 - ALRM (сигнальный таймер)
15 - TERM (софтверный сигнал завершения)
killall - убивает ВСЕ процессы
Спрашивает перед убиением каждого процесса:
sh# killall -i
Можно получить список сигналов коммандой:
sh# killall -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP
TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2
Убивать можно также как и в kill как по индентификатору так и по сигналу.