| Controllo dei processi in Linux |
| Linux |
| Mercoledì 10 Marzo 2010 17:11 |
|
Linux ha molti strumenti da terminale per recuperare info sui processi di sistema. In verità quanto scriverò vale anche per il MAC, ma in generale i MAC users non sono molto terminal oriented. I programmi presi in considerazione sono: ps, pstree, top, free e uptime
PS PS da una lista dei processi che sono attivi sul sistema. Senza altri parametri il comando si limita alla shell corrente:
Possiamo usare però varie opzioni, tenendo in considerazione che ps riconosce le sintassi UNIX, BSD e GNU. Io in genere con ps uso le opzioni senza trattini davanti. Se ci interessa sapere quali sono i nostri processi possiamo usare il parametro x:
Dove:
Altre opzioni interessanti sono:
PSTREE Con pstree possiamo vedere i processi in maniera gerarchica. I processi infatti non sono mai isolati, ma dipendono da altri processi. Al top troviamo init 1; init è il primo processo che Linux lancia all'avvio.
Alcune opzioni interessanti sono:
TOP Questo comando, al contrario di ps, è dinamico, nel senso che non da uno "scatto" di com'è lo stato ma si aggiorna di continuo. Top ci da molte info sul sistema e sui processi attivi. Le prime righe ci da info sul tempo, sull'uptime, il numero di processi, lo status e info su memoria, swap e cpu. Cliccando su F possiamo dire a top cosa vogliamo vedere di preciso. Inoltre, come forse avete capito, top è interattivo; ad esempio cliccando su H vedrete l'online help; cliccando su U seguito dallo username vederete i processi di quell'utente; Shift+R inverte l'output; Q esce da top; Shift+Z serve per aggiungere i colori; ecc. Per top se volete potete trovare anche delle gui come gtop (scritto in gtk) e htop (che è grafico per modo di dire). FREE Questo comando serve per vedere la RAM occupata/libera. Usate lo switch -m per vedere le misure in megabyte.
Free è molto affidabile in quanto legge i dati esposti dal kernel in /proc/meminfo. Con l'opzione -t potete vedere anche i totali. Da tenere presente la voce used è formata da quella usata dai processi+buffer+cached. UPTIME In genere questo comando è usato per vedere da quanto tempo il pc è in esecuzione. L'output addizionale mostra il tempo corrente, quanti users sono loggati e il carico di sistema.
KILL Al contrario di quello che può sembrare dal nome, kill serve "solo" per mandare messaggi segnali ai processi. Per usare alcuni segnali bisogna essere root. Con kill -l possiamo vedere la lista di tutti i segnali che possiamo inviare. I più usati sono:
Per mandare un segnale si può sia scrivere il nome del segnale che il numero (che puoi trovare attraverso kill -l) seguito dall'ID del processo che ci interessa:
Per trovare l'ID esatto possiamo usare ps come descritto prima, magari con l'aiuto di grep:
KILLER COMMAND Il comando killall supporta gli stessi segnali di kill, ma al posto dell'ID serve il nome del processo. Senza spcificare il segnale killall usa il -15 (-TERM). Ad esempio:
terminerà tutte le istanze di bash, inclusa la shell usata per inviare il comando. Quindi attenzione a come si usa killall. Possiamo anche attivare la modalità interattiva tramite killall -i. BACKGROUND & FOREGROUND Alcune volte lanciamo programmi da terminale che poi useremo a lungo; e in più i programmi grafici bloccano la shell. In questi casi possiamo mettere tali programmi in background, sia dall'inizio che in un secodno momento. Per metterlo in background all'avvio aggiungiamo il simbolo & alla fine del comando:
Sotto il comando viene mostrato l'ID e poi la bash è in grado di accettare altri comandi. Attraverso il comando jobs possiamo vedere che jobs sono attivi nella shell corrente. Il job Id è utile anche quando vogliamo muovere un programma in background attraverso Ctrl+Z:
Se adesso scriviamo bg il processo continuerà in background. NOHUP Attraverso nohup facciamo in modo che il processo continui anche dop la chisura della shell:
PGREP Con questo comando velociziamo la ricerca dei processi. Infatti basta usare pgrep nome_comando
per trovare tutti gli ID di quel processo. |
| Ultimo aggiornamento Sabato 07 Maggio 2011 16:45 |



Commenti
RSS feed dei commenti di questo post.