Si possono esaminare i processi in esecuzione sul sistema con il comando ps.
Il comando ps senza argomenti fornisce l’elenco dei processi associati al tty attivo. Visualizza il PID, cioè l’id del processo (Process Identifier), il TTY cioè l’identificativo del terminale, il tempo di CPU usato e il comando in fase di esecuzione.
Il PID è un numero di 32 bit che identifica il processo.
Le principali opzioni del comando ps sono:
-U elenco-UID dà l’elenco dei processi associati agli ID utente elencati
-u elenco-nomi-utente dà l’elenco dei processi associati ai nomi utente elencati
-t dà l’elenco dei processi relativi al terminale in uso
-a ritorna tutti i processi attivi escludendo i demoni
-A ritorna tutti i processi attivi (anche i demoni)
-l produce un output più dettagliato
<p>Ecco una schermata di un terminale dove è stato lanciato il comando ps -l
Analizziamo nel dettaglio i campi restituiti da questo comando
<blockquote>ADDR indirizzo del processo
C utilizzo del processore per lo scheduling
CMD nome del comando
F flag associato al comando
NI valore nice
PID Id del processo
PPID id del processo genitore
PRI priorità del processo
S stato del processo
STIME ora di avvio del processo
TIME tempo di esecuzione
TTY terminale associato
UID id del proprietario
WCHAN evento per cui il processo è in attesa
Il comando top visualizza i processi in corso come ps ma aggiorna la situazione in tempo reale, fornendo anche informazioni aggiuntive sull’attività del processore.
Gestione dei servizi
I servizi sono processi che svolgono funzioni di servizio per gli altri processi; di solito si tratta di demoni che restano in background in attesa di richieste.
Esempi di servizi sono i programmi per la gestione dello spool di stampa e della registrazione dei log. Alcuni servizi vengono lanciati automaticamente all’avvio del sistema. Si possono attivare o disattivare manualmente per mezzo di script che di solito si trovano in /etc/rc.d/init.d o /etc/init.d o /sbin/init.d a seconda della propria distribuzione; ogni file in queste directory è uno script che serve ad avviare o arrestare un servizio; si può capire di cosa si tratta grazie a dei commenti che si trovano all’inizio di questi file.
Tutti gli script accettano gli argomenti start o stop per avviare o fermare il servizio indicato:
/etc/rd.d/init.d/lpd start
/etc/rc.d/init.d/lpd stop
Esecuzione di lavori in background
Per mandare un job in background basta aggiungere in fondo alla riga di comando il simbolo &.
La shell restituisce il numero del job e l’ID del processo (PID) . Il PID è assegnato dal sistema e identifica univocamente un processo, mentre il job number è assegnato falla shell e numera progressivamente i processi attivi eseguiti in una istanza di lavoro.
Se il job in background non richiede input continua l’esecuzione fino al termine, altrimenti passa in stato di attesa e viene visualizzato un avviso.
Se un lavoro viene avviato in foregound si può sospendere con comando Ctrl+z, detto tasto di sospensione. Usando il comando bg si fa riprendere l’esecuzione del comando in background . Ecco un’esempio pratico :
Per finire ecco i principali comandi per la gestione dei job in background:
fg %numero sposta in foreground il job indicato
fg senza argomenti sposta in foreground il job corrente
wait %numero sospende l’esecuzione della shell finche il job specificato non è stato completato
wait senza argomenti aspetta finche tutti i job in background non sono completi
jobs -p %numero restituisce ilo PID del processo
FONTE :
link