Ecco come gestire i processi! – I parte

Agosto 20, 2012 0 Di Ruggero Grando

La gestione dei processi in un sistema GNU/Linux è essenziale ed importante al fine di amministrare tutto consapevolmente. In molti casi i processi nascono, vivono e muoiono senza alcun intervento esterno, ma in alcune occasioni si verificano delle anomalie che costringono l’amministratore di sistema ad un azione tempestiva.

Cosa si intende per processo?

Ogni programma, comando o script avviato nel sistema è un processo. Prima di mostrare gli strumenti di “monitoring” dei processi definiamo alcuni concetti:

  1. Tempo di vita: il tempo necessario di un processo per l’esecuzione. Per esempio per il comando ls o cd il tempo di esecuzione è cortissimo. Per quanto riguarda il tempo di esecuzione di un comando cp dipende dal quantitativo di dati da copiare e così via.
  2. ID del processo: quando un processo si avvia ad esso viene attribuito un numero o Process ID (PID).
  3. UID & GID: ad ogni processo viene associato l’utente  (UID) e il gruppo (GID) che ha lanciato il processo.
  4. Processo Padre: il primo processo che avvia il kernel è il processo init che ha ovviamento un numero di PID uguale a 1. Tutti i processi successivi ad init sono considerati sotto-processi o figli.
  5. ID del processo padre: numero ID del padre che ha generato il processo o più figli con numero PID successivo.

Questi concetti sono importanti per una gestione approfondita dei processi.

GLI STRUMENTI DI MONITORING

Adesso, è il momento degli strumenti di “monitoring” e in particolare dei comandi o utility ps, pstree e top. Per quanto riguarda il primo comando e cioè ps, ad esso possono essere associate le seguenti opzioni:

Opzione

Azione
-a Visualizza i processi degli utenti correnti
-f Formato esteso delle informazioni
-l Formato “lungo” delle informazioni
-u Formato “utente” delle informazioni
-w Formato “Wide” delle informazioni
-x Include i processi non legati ai terminali
-C cmd Visualizza le istanze del comando cmd
-U utente Visualizza i processi di un utente

Inserendo da shell il comando ps senza alcuna opzione dovrebbero apparire una serie di processi appartenenti all’utente che ha avviato il comando e “legati” al suo terminale. Utilizzando una estensione più complessa del comando e cioè ps aux vengono visualizzati tutti i processi degli altri utenti e anche quelli non “legati” ai terminali. Se, per qualche ragione si è interessati ad un processo legato ad un comando si può utilizzare l’opzione -C come di seguito descritto:

# ps u -C cp

Al posto dell’opzione -C si può utilizzare anche il seguente comando per visualizzare tutti i processi legati al comando cp:

# ps aux | grep cp

Per ora, la prima parte è terminata, spero di avervi incuriosito, e naturalmente attendete la seconda parte che sarà molto più interessante!

Se desiderate altri articoli, per fare in modo che il sito continui a vivere, versate un piccolo contributo in Bitcoin al seguente indirizzo. Un contributo per scrivere di più al fine di migliorare la qualità degli articoli.

Indirizzo BTC: 3EJZiSmqRkoZ48ae2pYbKupMYQqoQvxdxe

Codice QR Bitcoin

No votes yet.
Please wait...