Il nonno di tutti i monitor di processo è top
e molti strumenti di monitoraggio del sistema sono chiamati top
. Ad esempio, c'è iotop
per controllare l'I/O del disco, atop
per un mucchio di risorse di sistema, powertop
per il consumo energetico.
Se desideri informazioni più dettagliate, non viene tracciato per impostazione predefinita. Per osservare che processo particolare sta facendo, chiama strace
su di esso. Ad esempio, se sei interessato solo agli accessi al filesystem:
strace -s9999 -efile command_name # trace a program during its whole execution
strace -s9999 -efile -p1234 # trace a running program with the given PID
strace
è specifico di Linux, ma altri sistemi hanno uno strumento simile:truss
su Solaris, ktrace
o dtrace
sotto *BSD, ecc.
Per vedere cosa sta succedendo a un file particolare o in una particolare directory o albero di directory, usa la funzione inotify.
inotifywait -m .
Ancora una volta, la struttura è specifica per Linux, ma la maggior parte degli altri unix ha un sistema simile, ad es. kqueue sotto *BSD e FAM (originariamente da SGI ma ora disponibile come API su molti sistemi).
Per guardare tutte le chiamate di sistema sotto Linux, puoi usare il sottosistema di controllo. È relativamente recente e non c'è molta letteratura sull'argomento; cerca auditctl
o leggi il auditctl
pagina man. Ci sono un paio di esempi su questo sito:monitoraggio degli accessi ai file, monitoraggio dell'esecuzione del processo.
Lo standby della console per questo è top
, ma ci sono alternative come il mio htop
preferito che ti danno un po' più di flessibilità di visualizzazione e ti permettono qualche operazione in più sui processi.
Una vista meno interattiva che è migliore per l'uso negli script sarebbe ps
programma e tutti i suoi parenti.
Modifica: Sulla base della tua domanda chiarita, potresti notare che strace
gestisce la sorveglianza delle chiamate di sistema effettuate da un determinato processo, comprese tutte le operazioni di lettura-scrittura e le chiamate alle funzioni del sistema operativo. Puoi attivarlo sulla riga di comando prima del programma che vuoi monitorare o allegare a un processo in esecuzione premendo s su un processo selezionato in htop
.
Potresti dare un'occhiata a lsof
e strace
. Process Monitor di Sysinternal è in realtà Filemon e Regmon combinati con alcuni miglioramenti aggiuntivi. Il top
il comando è più simile a Process Explorer.