Ho cercato risposte e finora non ho trovato nulla per rispondere alla mia domanda. Attualmente sto accedendo al mio server Ubuntu e durante l'esecuzione di un processo non posso eseguire nessuno degli interrupt su di esso. Ecco il mio stty -a:
user@Ubuntu1:~$ stty -a
speed 38400 baud; rows 93; columns 200; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
Non ho nulla nel mio .bashrc che cambia gli interrupt.
Questo è lo stesso per tutti gli utenti incluso root. Ho anche provato ad accedere da posizioni diverse usando terminali diversi e ogni volta che appare lo stesso risultato. Ho usato sia ssh che ssh -X per accedere.
Modifica: localmente tutti i miei interrupt funzionano bene.
Aggiornamento: sto ancora cercando una risposta. Il mio amico ha esattamente lo stesso problema. Il problema sembra essere che quando si accede (da PC, Mac, Linux) la tastiera non rileva questi tasti (anche se mappati correttamente).
Ctrl+C
mentre esegui un altro processo (ad esempio cat
)? Forse è quel processo che ignora Ctrl+C
. O vuoi dire che localmente sul server Ubuntu, quel particolare processo risponde Ctrl+C
, nel qual caso, in quale terminale hai provato? Che ne dici di una screen
sessione?
kill -s 2
(nota il -s 2
, cioè SIGINT
(il segnale che viene solitamente inviato quando premi Ctrl + C, il valore predefinito kill
è SIGTERM
)), allora il comando non ignora l'interruzione. Qualcos'altro lo sta raccogliendo. Quando lo esegui localmente e funziona, stai dicendo che funziona usando lo stesso terminale nel computer client per eseguire qualcosa localmente o eseguendo un emulatore di terminale localmente nel computer server? Mi chiedo se stai usando un emulatore che sta cercando di imitare Ctrl + C dal mondo Windows ...
Ctrl+V
e colpireCtrl+C
? Hai provato ad uccidere il processo conkill -s 2 <pid_of_process>
? Questo dovrebbe essere uguale all'invio del segnale SIGINT al processo. Controlla le impostazioni della chiave dell'emulatore di terminale.