Назад | Перейти на главную страницу

Как убить все процессы с помощью Sl stat в ubuntu?

У меня есть несколько скриптов, которые запускают несколько процессов для задач в фоновом режиме. Большинство из них завершается, но некоторые из них не прекращаются после завершения задачи.

Количество таких процессов постоянно растет, и теперь они потребляют большую часть ресурсов сервера.

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

Эта команда работает в моей системе, чтобы убить процессы vi с состоянием "S". Измените S на S1 и шаблон регулярного выражения имени процесса на любое, чтобы получить то, что вам нужно.

ps ah -o pid,state,command | egrep "^.+\ S\ vi$" | cut -f1 -d' ' | xargs kill -KILL

Crontab:

00 01 * * * ps ah -o pid,state,command | egrep "^.+\ S\ vi$" | cut -f1 -d' ' | xargs kill -KILL

Я предлагаю вам изучить что-то более элегантное, например, встроить что-то в свои существующие сценарии для работы с зависающими процессами или выяснить, почему они не завершаются, и т.