He buscado respuestas y hasta ahora no he encontrado nada para responder mi pregunta. Actualmente estoy iniciando sesión en mi servidor Ubuntu y al ejecutar un proceso no puedo ejecutar ninguna de las interrupciones en él. Aquí está mi 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;
No tengo nada en mi .bashrc que cambie las interrupciones.
Esto es lo mismo para todos los usuarios, incluido el root. También he intentado iniciar sesión desde diferentes ubicaciones utilizando diferentes terminales y cada vez que aparece este mismo resultado. He utilizado tanto ssh como ssh -X para iniciar sesión.
Editar: localmente todas mis interrupciones funcionan bien.
Actualización: todavía estoy buscando una respuesta. Mi amigo tiene exactamente el mismo problema. El problema parece ser que al iniciar sesión (desde PC, Mac, Linux) el teclado no recoge estas teclas (aunque esté correctamente asignado).
Ctrl+C
mientras ejecutas otro proceso (por ejemplo cat
)? Quizás es ese proceso el que ignora Ctrl+C
. ¿O quiere decir que localmente en el servidor Ubuntu, ese proceso particular responde Ctrl+C
, en cuyo caso, en qué terminal probó? ¿Qué tal una screen
sesión?
kill -s 2
(tenga en cuenta -s 2
que, eso es SIGINT
(la señal que generalmente se envía cuando presiona Ctrl + C, el valor predeterminado kill
es SIGTERM
)), entonces el comando no ignora la interrupción. Algo más lo está recogiendo. Cuando ejecuta esto localmente y funciona, ¿está diciendo que funciona usando el mismo terminal en la máquina del cliente para ejecutar algo localmente, o ejecuta un emulador de terminal localmente en la máquina del servidor? Me pregunto si estás usando algún emulador que está tratando de imitar Ctrl + C del mundo de Windows ...
Ctrl+V
y el golpeCtrl+C
? ¿Has intentado matar el proceso conkill -s 2 <pid_of_process>
? Esto debería ser igual a enviar la señal SIGINT al proceso. Verifique la configuración de las teclas del emulador de terminal.