GNU/Linux, ultimamente, è utilizzato veramente in qualsiasi ambiente. Grazie alla sua maturità ha fatto faville sia negli ambienti desktop che in quelli server. Una volta installato sulla propria macchina è sempre buona prassi conoscere i principali strumenti che permettono di mantenere sotto controllo lo stato dei suoi processi e dunque del sistema stesso.
Su Linux.com è stato pubblicato un interessante articolo che tratta dei più comuni strumenti a riga di comando utilizzati per gestire i processi in un sistema operativo basato su Linux. Essi sono: ps, top, service, kill e killall.
Come ci ricorda l’articolo, tutti i sistemi operativi sono in grado di lanciare molti programmi contemporaneamente. Ad esempio su un sistema Linux possiamo configurare un server web, un server mail e un servizio di database. Ognuno di questi programmi viene eseguito come un singolo processo. Più precisamente, così come specifica anche Wikipedia, per processo si intende un programma in esecuzione. In particolare si tratta di un’attività controllata da un programma che si svolge su un processore. In più ogni processo utilizza per un determinato periodo di tempo la CPU così come le altre risorse (memoria, spazio su disco e così via). Se un programma non svolge correttamente le sue funzioni può utilizzare per troppo tempo la CPU fino a negare l’utilizzo, legittimo, di quest’ultima agli altri programmi.
Per questo motivo capire come gestire e conoscere lo stato dei processi su Linux è qualcosa di fondamentale. Analizziamo brevemente ogni tool:
- ps
Mostra tutti i processi attivi ed in esecuzione sul sistema. Il comando ha molte opzioni, per conoscerle basta utilizzare man, ma in definitiva il comando viene usato insieme alle opzioni aux che permettono di mostrare tutti i processi attualmente attivi sul proprio sistema. Basta lanciare “ps aux“. - top
A differenza di ps, top mostra una visione real-time del sistema. Mostra insomma, in tempo reale, l’utilizzo di risorse quali CPU, memoria ed altro ancora. Basta lanciare “top“. - service
E’ il modo più semplice per avviare e bloccare i servizi, come ad esempio sendmail o apache, sul sistema. Per conoscere lo stato di un servizio basta utilizzare il comando “service nomeservizio status“. Per bloccare un servizio bisogna invece dare la direttiva “service nomeservizio stop“. Per avviare un servizio il comando “service nomeservizio start” e per riavviarlo “service nomeservizio restart“. - kill
Il comando kill vi consente di bloccare l’esecuzione di un processo. Basta utilizzare il comando “kill PID“. Alcune volte questo comando non è sufficiente per bloccare l’esecuzione di un processo. Se dopo aver lanciato un kill il vostro processo è ancora in esecuzione utilizzate il comando “kill -9 PID“. Quest’ultimo vi permetterà di bloccare immediatamente il processo da voi indicato. - killall
Vi permette di bloccare l’esecuzione di un processo utilizzando il suo nome e non attraverso il suo PID. Ad esempio per bloccare l’esecuzione di apache basta utilizzare il comando “kill -9 httpd“.