<Precedenti | Contenuti | Succ.>
Segnali
. kill Il comando viene utilizzato per "terminare" i processi. Questo ci permette di terminare i programmi che devono essere terminati. Ecco un esempio:
[me@linuxbox ~]$ xlogo & [1] 28401
[me@linuxbox ~]$ kill 28401
[1]+ Terminato xlogo
[me@linuxbox ~]$ xlogo & [1] 28401
[me@linuxbox ~]$ kill 28401
[1]+ Terminato xlogo
Lanciamo per primi xlogo in background. La shell stampa il jobspec e il PID del processo in background. Successivamente, utilizziamo kill comando e specificare il PID del processo che vogliamo terminare. Avremmo anche potuto specificare il processo utilizzando una jobspec (ad esempio, "%1") invece di un PID.
Sebbene tutto ciò sia molto semplice, c'è molto di più. kill il comando non "uccide" esattamente i processi, piuttosto li invia SegnaliI segnali sono uno dei diversi modi in cui il sistema operativo comunica con i programmi. Abbiamo già visto i segnali in azione con l'uso di Ctrl-c e Ctrl-zQuando il terminale riceve una di queste sequenze di tasti, invia un segnale al programma in primo piano. Nel caso di Ctrl-c, un segnale chiamato INT (Interrupt) viene inviato; con Ctrl-z, un segnale chiamato TSTP (Terminal Stop). I programmi, a loro volta, "ascoltano" i segnali e possono agire su di essi non appena vengono ricevuti. Il fatto che un programma possa ascoltare e agire sui segnali gli consente di eseguire operazioni come salvare il lavoro in corso quando riceve un segnale di terminazione.