Контролюйте всі щойно породжені процеси на машині 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) або інструменти вищого рівня, такі як режим реєстратора на вершині. Надалі такі інструменти, як сліди та надбудови, будуть корисними для отримання детальної інформації з ядра.


Я впевнений, що процес породжений або гномом, або X, або одним із їхніх процесів. Я не можу бути впевнений, хоча.
Василь Шарапов

4
Ідіть з lastcommтоді.
Тобу


1

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

Якщо вам потрібен простий реєстратор, і ви НЕ шукаєте рішення безпеки / аудиту, то Snoopy це може бути.

Розкриття інформації: Підтримка Snoopy тут.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.