|
kill -l |
|
Visualizza l'elenco dei segnali
che si possono mandare ad un processo |
Kill -9 213 |
|
Forza l'eliminazione del processo con PID
213
(eliminazione senza scampo!!) |
|
|
Con il comando Kill -l visualizza l'elenco dei segnali che potete
mandare ad un processo. Ogni segnale è identificato anche
da un numero univoco che può essere utilizzato al posto del
nome del segnale da mandare al processo. Es
kill -9 213 = kill -SIGKILL 213
E' possibile far eseguire un comando direttamente in background
aggiungendo alla linea di comando il carattere & Es: analog
/var/log/httpd/access_log &
E' possibile utilizzare la stessa linea di comando per eseguire
più comandi, suddividendo i vari comandi dalla virgola. Es
./configure; make; make install
|
|
Segnali |
|
Per gestire un processo è possibile inviargli diversi segnali
con diverse funzioni.
Il segnale più comune è il SIGKILL (9) che
chiude brutalmente un processo (può essere necessario quando
il processo è bloccato), una alternativa più soft
è SIGTERM (15). Un segnale comunemente usato quando
si deve far fare una log rotation o ricaricare i file di configurazione
di un server è SIGHUP (1).
Alcuni segnali (es: SIGUSR) possono essere customizzati dagli sviluppatori
ed usati per dare particolari direttive ad un programma in esecuzione
(per esempio aumentare il livello di debugging).
|
Comandi di gestione
dei processi |
|
kill -[signal] pid |
Principalmente utilizzato per "uccidere"
o meglio terminare (SIGKILL) un processo, ma può essere utilizzato
per mandare qualsiasi segnale. |
killall [opzioni] nome |
Termina (di default) o invia il segnale specificato
tutti i processi con il nome indicato. |
CTRL + z
bg <process number>
fg <process number>
jobs |
La combinazione di tasti CTRL+z interrompe momentaneamente
il processo in esecuzione (dalla shell corrent). Per ripristinarlo
si devono usare i comandi bg e fg. Il primo fa eseguire il comando
in background ed il secondo fa eseguire il comando in foreground.
La shell assegna un ID ad ogni job corrente (processo aperto dall'utente)
e prevede diversi comandi (fg, bg, jobs, stop...) per gestirli. |
nohup <command> |
Si può utilizzare prima di qualsiasi per evitare che il
processo determinato dal comando non cada al segnale SIGHUP. E'
utile quando si lavora su macchine remote e si devono eseguire
comandi che possono durare a lungo. Evita l'interruzione del processo
quando per problemi di rete o normale operatività ci si sconnette
dalla sessione remota (via telnet o ssh). Lo standard error e tutti
gli output che verrebbero stampati a schermo vengono scritti sul
file nohup.out
|
nice <priority> <command> |
E' un prefisso utilizzato per assegnare un certo livello
di priorità al comando che si sta per eseguire. -20 vuol dire
massima priorità, 19 è minima priorità. |
|