Il tuo punto di partenza dovrebbe essere auditd.
Prova qualcosa del genere:
apt-get install auditd
auditctl -a task,always
ausearch -i -sc execve
Avevo bisogno di farlo, tranne che (1) non avevo bisogno di tempo e (2) ero interessato solo ai processi avviati da un determinato processo, ai suoi figli e ai successivi discendenti. Inoltre, nell'ambiente che stavo usando, non era possibile ottenere auditd
o accton
, ma c'era valgrind
.
Prefisso quanto segue al processo di interesse sulla riga di comando:
valgrind --trace-children=yes
Le informazioni di cui hai bisogno saranno nell'output del log visualizzato su STDERR.
Potresti usare snoopy per questo.
È molto semplice da installare e dalla versione 2.x può registrare dati arbitrari (argomenti, variabili ambientali, cwd, ecc.).
Divulgazione:qui il manutentore di Snoopy.