Как убить процессы, которые старше получаса, скажем, в Debian?

Использую headless chrome вместе с Puppeteer в cron, и иногда это все виснет и процессы остаются в памяти. Можно ли их как-то прибить? Для убивания всех таких процессов использую
kill $(ps aux | grep 'node_modules' | awk '{print $2}')

А можно ли как-то из ps aux выудить время старта процесса, и прибивать только процессы старше определенного времен, например, запущенные более чем полчаса назад?
Также, из-за забивания памяти такими процессами, перестает работать cron. Можно ли с этим что-то сделать?
Спасибо.
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 4
Radjah
@Radjah
Заморочиться с cgroup и прибивать по списку PID, например, а то так можно делов натворить.
Ответ написан
Комментировать
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Прибивайте все подряд по крону. Дёшево и надёжно.
Ответ написан
hint000
@hint000
у админа три руки
При запуске процесса создавать pid-файл (например, с добавлением pid к имени файла, чтобы все они могли лежать в одной папке). Для убийства искать по времени создания pid-файлов.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
ps -e --sort lstart -o pid=,cmd=,lstart=
можно отпарсить время старта процессов и поубивать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы