KILL — Завершение процессов

Установка, настройка, эксплуатация.

Модератор: ROOT

KILL — Завершение процессов

Сообщение ROOT » 21 авг 2017, 10:01

Оглавление


Завершение процессов
Выясняем имя повисшей консоли и смотрим список подключений
Код: выделить все
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 для этих заранее известных приложений и только для них.
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 137
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1