Завершение процессов
Выясняем имя повисшей консоли и смотрим список подключений
- Код: выделить все
w
21:16:47 up 4:03, 2 users, load average: 1.09, 0.59, 0.52
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 20:14 57:19 0.06s 0.06s -bash
root pts/0 sergey6.free-adm 21:13 7.00s 0.03s 0.00s w
Нас интересует tty1. Определяем PID процесса
- Код: выделить все
ps -ft tty1
UID PID PPID C STIME TTY TIME CMD
root 4703 699 0 20:14 tty1 00:00:00 -bash
Убиваем процесс c PID'ом 4703, послав ему сигнал №9
- Код: выделить все
kill -9 4703
Убеждаемся что процесс умер
- Код: выделить все
w
21:23:04 up 4:09, 1 user, load average: 0.31, 0.47, 0.49
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 sergey6.free-adm 21:13 0.00s 0.03s 0.00s w
Аргумент -9 (или KILL) для команды kill следует использовать в POSIX-совместимых системах только в случае крайней необходимости. Почему? Сигнал KILL не может быть обработан процессом. Это означает, что после завершения процесса с помощью kill -9, дочерние процессы останутся в памяти и станут «осиротевшими» (orphaned), файловая система окажется засорена временными файлами, сегменты совместно используемой памяти — активными, сокеты — зависшими, а функция atexit вообще не будет выполнена. В результате есть риск столкнуться с неожиданными и сложными для отладки проблемами.
Вместо этого используйте дефолтный сигнал TERM, а KILL — только если менее проблемные сигналы окажутся неэффективными:
- Код: выделить все
kill 6738
kill -INT 6738
kill -HUP 6738
kill -KILL 6738
Если даже сигналу KILL не удается завершить процесс, это означает, что процесс скорее всего завис при операции ввода-вывода или находится в каком-нибудь другом не завершаемом состоянии. Может потребоваться перезагрузка или принудительное размонтирование глючного сетевого диска.
Использование kill -KILL по умолчанию допустимо при работе с проблематичным приложением, например, старые версии Netscape частенько завершались только с помощью сигнала KILL. Однако, это редкое исключение из правила: используйте KILL для этих заранее известных приложений и только для них.