NBash

Форк
0

7 месяцев назад
7 месяцев назад
readme.man

Либо создаем зомби через Bash:

(sleep 1 & exec /bin/sleep 7200) &

Выполняем команды и наблюдаем zombie процесс:

ps aux | grep Z

Вывод на экран:

root 1669051 Z 14:09 0:00 [zombie]

Ага, хорошо, зомби завели. Теперь как это дело всё закилить. Простой kill -9 PID не поможет, так как PID родительского процесса будет отличаться от дочернего.

Чтобы найти PID родителя, смотрим:

ps ax | grep zombie

Кто-то грепает по слову defunct, тут уже по потребностям выбирай.

Видим все PIDы и родителя и дочернего:

1669050 S+ 0:00 ./zombie 1669051 Z+ 0:00 [zombie]

В моем случае PID родительского = 1669050, а дочернего 1669051, который собственно и есть зомбик.

Теперь накидываем однострочник:

kill -9 $(ps -A -o stat,ppid | grep -e '[zZ]'| awk '{ print $2 }')

Эта штука найдет все зомби процессы и уничтожит их. Даже не нужно никакие циклы на Bash колхозить.

А если требуется регулярно зачищать зомборей, вешаем однострочник на cron и радуемся.

Вообще это самый простой способ закилить эту каку. Как это сделать через gdb напишу на следующей неделе. Но сразу предупреждают, там оверхед решение и скорее всего оно тебе не понравится. Хотя через gdb можно оставить в живых родительский процесс и убить только дочерних зомбаков.

В большинстве случаев не стоит обращать внимание на этих зомбаков, эти процессы не жрут ресурсы, а являются лишь косяками программного обеспечения.

У меня зомбаки порой случались с nginx на древней CentOS, но после апгрейда на убунту, все прошло.

Если сможешь что-то еще добавить, пиши в комменты, будет всем полезно.

Давай, хороших выходных, не болей!

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.