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

Определить порожденные процессы

Я думаю, что количество процессов, разветвляемых в секунду, на одном из серверов слишком велико. Как я могу отслеживать, какие процессы создаются? Есть ли какой-нибудь инструмент, который может мне помочь? я знаю что могу strace конкретный процесс, ищущий fork(), но есть ли что-то подобное, что работает в масштабах всей системы?

Я хотел бы знать хотя бы pid (и имя) и ppid (и имя родителя).

Я имею в виду мониторинг новых fork()s, а не снимок того, что доступно сейчас.

Я думаю, что количество процессов, разветвляемых в секунду, на одном из серверов слишком велико

Я так не думаю. Насколько я понимаю, все дочерние процессы будут разветвлены при запуске родительского процесса. Так что не так уж много, как вы думаете.

Как я могу отслеживать, какие процессы создаются?

Вы можете сделать это комбинацией ps и watch команда (пейджинговая версия):

watch 'ps -eo ppid,pid,comm --forest'