Interruzione comandi

Il comando:

sleep 5

non fa nulla (dorme) per cinque secondi poi ritorna il pronto.
Il comando:

sleep 10000

si può interrompere coi tasti Ctrl-C (come in Windows).

Formalmente si dice che è stato inviato il segnale di interruzione al processo corrente.

E' possibile cambiare la combinazione di tasti che inviano il segnale di interruzione. Non è una buona idea, perchè tutti si aspettano un Ctrl-C, ma dimostra che questo aspetto è controllato da configurazione, non 'bruciato' nel sistema.

Digitare:

stty intr "^A"

che cambia in Ctrl-A la combinazione di tasti per il segnale di interruzione.


Attenzione: digitare ogni carattere come indicato. Cioè doppio-apice, accento circonflesso, A (maiuscolo o minuscolo ui non importa), doppio-apice.


Spiegazione:

Parametri Connessione

'Anticamente' i terminali avevano dei settaggi, p.es. la velocità in bit al secondo, parità, bit di start e di stop, ecc.
Tali settaggi si impostavano col comando stty. In particolare, per vedere i settaggi correnti, usare:

stty -a
speed 38400 baud; rows 30; columns 72; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon
-ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0
vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop
-echoprt echoctl echoke -flusho -extproc

NB: Qui e in esempi successivi il carattere $ non è da digitare.Serve a indicare il comando da dare, e differenziarlo dall'output prodotto dal comando.


Il rapporto fornisce due tipi di settaggi, quelli di controllo del terminale, e quelli della cosiddetta disciplina di linea. Tra i secondi abbiamo appunto tutti quelli con un segno di uguale, che denotano le sequenze per l'invio di segnali,
p.es. intr, quit, erase, ecc.

I caratteri di controllo terminale sono da considerarsi in pratica obsoleti, gli altri sono ancora efficaci.


Attenzione:

Qualsiasi cambiamento ai settaggi di terminale, come nel nostro esempio, è labile, e funziona soltanto per
la sessione di terminale corrente. Al prossimo login ritorneranno i settaggi di default.

Per rendere permanenti i settaggi di terminale, i comandi di settaggio devono essere inseriti nal file.bashrc nella directory di login. Questo è un file che viene eseguito ogni volta che viene lanciata la shell bash. (bashrc = bash run commands).

Naturalmente occorre un editor.