24 marzo 2011
Questo capitolo è dedicato ai processi ed al relativo ambiente in un sistema GNU/Linux.
1) Definizione: un processo rappresenta un'istanza di un programma in esecuzione ed il suo ambiente.
2) PID e PPID:
1) Variabili d'ambiente:
Nota: per visualizzare una lista delle variabili d'ambiente
definite è possibile digitare
ctrl+x $
2)
Comando per visualizzare il valore a cui fa riferimento una
variabile d'ambiente:
echo <variabile>
1) Redirezione e pipe: ciascun processo apre un minimo di tre diversi descrittori del file, lo standard input (0), lo standard output (1) e lo standard error (2). Lo scopo della redirezione e delle pipe è quello di redirigere questi tre canali.
Simbologie:
0< | <
1> | > | >>
2>
|
Esempio di redirezione dello standard input:
$ wc -l 0< standard_input.txt
$ wc -l < standard_input.txt
Esempio di redirezione dello standard output:
$ ls -lR 1> standard_output.txt
$ ls -lR > standard_output.txt
$ ls -lR >> standard_output.txt
Esempio di redirezione dello standard error:
$ ls -R / >/dev/null 2>standard_error.txt
Esempio di pipe:
$ ls -lR / | less
1)
Comando per visualizzare l'elenco dei processi:
ps [opzioni]
Opzioni:
2)
Comando per visualizzare l'elenco dei processi in modalità
ad albero:
pstree [opzioni]
Opzioni:
3) Processi in background:
jobs
processo &
ctrl+z bg
fg [n]
4) Processi e segnali:
kill [-numero_del_segnale] <PID>
killall [-numero_del_segnale] <nome_del_processo>
Nota: per visualizzare l'elenco dei segnali si può utilizzare
kill con l'opzione -l, ovvero,
kill -l
5)
Comando onnicomprensivo di ps e kill:
top
Funzionamento:
Nota: kill, killall e top, inviano in modalità predefinita il segnale 15 (TERM).
1)
Comando per eseguire dei processi a intervalli di tempo regolari:
crontab <argomenti>
Argomenti:
Sintassi: