🔹 Linux: почему процесс «убит», а сервер всё ещё занят?
Приложение зависло. Администратор выполняет:
kill -9 <PID>
Но процесс остаётся в ps, а команда не помогает даже от root.
🔹 Где подвох
Проверьте состояние процесса. Если это D — uninterruptible sleep, процесс находится внутри ядра и обычно ожидает завершения I/O.
Частые причины: зависший NFS, проблемы с диском, SAN/iSCSI или драйвером.
SIGKILL уже отправлен, но процесс не сможет его обработать, пока ядро не вернёт выполнение из этого ожидания.
🔹 Важный нюанс
Поэтому повторять kill -9 бессмысленно. Искать нужно ресурс, на котором завис процесс.
Особенно полезно посмотреть kernel stack:
cat /proc/<PID>/stack
Он может показать, где именно процесс ждёт.
🔹 Что запомнить
Процесс в состоянии D — часто симптом проблемы ниже приложения: storage, сеть или ядро.
🐧 Linux
ps -eo pid,state,wchan:30,comm
cat /proc//stack
dmesg -T | tail -100
journalctl -k -b
iostat -xz 1
Записки сетевика | Сети для всех
#ЗапискиСетевика
