Отслеживайте все недавно созданные процессы на компьютере с Linux


12

Иногда процесс приходит и уходит быстрее, чем я ps aux, я пытался, watch -d -n0.1 "ps aux | tail"но опять же, это ограничено 1/10 секунды. Что я действительно хочу, так это запустить команду и отслеживать все новые процессы, по одному на строку, по мере их появления. Даже процессы, которые работают быстро. Я знаю, что straceу меня есть подобные способности, но я не смог заставить его делать то, что я хочу.

tl;dr : есть ли способ регистрировать все новые процессы?

Я не хочу знать много, не больше, чем одна строка ps auxдаст мне, для текущего случая у меня просто есть процесс, который порожден другим и исчезает, я хочу быть в состоянии запустить его, но я не знаю какая команда будет. Даже знания новых PID было бы достаточно, так как я мог бы придумать сценарий, который бы брал их, запускал ps | grepна них и давал мне больше информации во время работы процесса (при условии, что, надеюсь, процесс все еще будет запущен ps)

Ответы:


7

Что вы хотите знать об этих процессах? Если вы можете контролировать, кто порождает процессы, strace -feprocess $SHELLбудет делать.

Если это просто обзор их занимаемой площади, используйте учет процессов (в пакете gnu acct; используйте команду lastcomm) или инструменты более высокого уровня, такие как режим ведения журнала atop. В будущем такие инструменты, как trace и uprobes будут полезны для получения подробной информации из ядра.


Я почти уверен, что этот процесс порожден либо gnome, либо X, либо одним из их лакейских процессов. Я не могу быть уверен, хотя.
Василий Шарапов

4
Иди с lastcommпотом.
Тобу


1

Snoopy может быть правильным инструментом для вашего случая использования.

Если вам нужен простой регистратор, и вы НЕ ищете решение для безопасности / аудита, тогда Snoopy может быть им.

Раскрытие: сопровождающий Snoopy здесь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.