Pratica: Analisi approfondita di un processo

Proviamo a intravedere in modo più approfondito cosa succede sul sistema quando un processo è in esecuzione. Viene richiesto l'uso di tool di debugging piuttosto evoluti, che comunque danno informazioni interessanti anche utilizzandoli nelle loro funzionalità base.

1 - Aprire una shell come root. Su questa shelle eseguire un tail -f /var/log/messages. (Cosa fa questo comando?)
2 - Aprire una seconda shell e da questa lanciare comandi di debugging per:
- Visualizzare l'elenco delle librerie condivise utilizzate dal comando tail in esecuzione.
- Visualizzarne l'elenco dei file aperti
- Tracciarne le chiamate di sistema.
3 - Eseguire queste operazioni sia mentre tail non visualizza nuovi dati, sia quando il log cresce (per smuoverlo basta provare a fare su, in una terza console, e dare o non dare la password corretta).
4 - Provare a spiegare e farsi spiegare quanto si è visto.

Informazioni utili
whereis tail Visualizza il PATH completo di tail
ps Visualizza i processi in esecuzione sul sistema
grep Insieme all'uso della pipe ( | ) filtra l'output di un comando visualizzando solo le righe che contengono specificati pattern.

Comandi necessari
ldd /usr/bin/tail Visualizza le librerie condivise usate da tail
lsof | grep tail Visualizza tutti i file aperti sul sistema, filtrando solo le righe relative a tail
strace -P PID Visualizza in tempo reale le chiamate di sistema del processo con il PID specificato.

Privacy Policy