Esiste un comando execsnoop
che puoi eseguire in una finestra di terminale. Ad esempio:
sudo execsnoop -v
Un registro più dettagliato di tutto ciò che sta succedendo richiede un po 'di dtrace
hacking, in quanto è necessario tenere traccia delle chiamate di sistema fork
e _exit
.
Modificato per aggiungere un po 'di spiegazione: i processi non "avviano" su un sistema unix. I nuovi processi vengono creati dalla chiamata di sistema fork
, che determina la divisione del processo chiamante in due processi (quasi) identici. Uno (il genitore) mantiene il suo PID, mentre l'altro (il childe) riceve un nuovo PID. Il motivo più comune per un fork è per il bambino a exec
un nuovo programma; è questa combinazione di fork + exec che si pensa più comunemente come un nuovo processo di avvio. Ecco perché è necessario tenere traccia di tre chiamate di sistema ( fork
, exec
, _exit
) per la vista completa. Ma solo il monitoraggio di exec
, come farà execsnoop
, sembra sufficiente per i tuoi scopi.