Ich habe nach Antworten gesucht und bisher nichts gefunden, um meine Frage zu beantworten. Ich melde mich derzeit bei meinem Ubuntu-Server an und kann beim Ausführen eines Prozesses keinen der Interrupts darauf ausführen. Hier ist mein 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;
Ich habe nichts in meiner .bashrc, was die Interrupts ändert.
Dies ist für alle Benutzer einschließlich root gleich. Ich habe auch versucht, mich von verschiedenen Standorten aus mit verschiedenen Terminals anzumelden, und jedes Mal wird das gleiche Ergebnis angezeigt. Ich habe sowohl ssh als auch ssh -X verwendet, um mich anzumelden.
Bearbeiten: Vor Ort funktionieren alle meine Interrupts einwandfrei.
Update: Ich suche noch eine Antwort. Mein Freund hat genau das gleiche Problem. Das Problem scheint sehr zu sein, dass die Tastatur beim Anmelden (von PC, Mac, Linux) diese Tasten nicht aufnimmt (obwohl sie korrekt zugeordnet sind).
Ctrl+C
während eines anderen Prozesses zu schlagen (z. B. cat
)? Vielleicht ist es dieser Prozess, der ignoriert Ctrl+C
. Oder meinst du damit, dass dieser bestimmte Prozess lokal auf dem Ubuntu-Server reagiert Ctrl+C
. In welchem Fall haben Sie es in welchem Terminal versucht? Was ist mit einer screen
Sitzung?
kill -s 2
( man beachte das -s 2
, dass der SIGINT
(das Signal , das in der Regel gesendet wird, wenn Sie Strg + C treffen, die Standardeinstellung für kill
ist SIGTERM
)), dann wird der Befehl nicht den Interrupt ignoriert. Etwas anderes nimmt es auf. Wenn Sie dies lokal ausführen und es funktioniert, sagen Sie, dass es mit demselben Terminal auf dem Clientcomputer funktioniert, um etwas lokal auszuführen, oder wenn Sie einen Terminalemulator lokal auf dem Servercomputer ausführen? Ich frage mich, ob Sie einen Emulator verwenden, der versucht, Strg + C aus der Windows-Welt
Ctrl+V
und schlagenCtrl+C
? Haben Sie versucht, den Prozess mit zukill -s 2 <pid_of_process>
beenden? Dies sollte dem Senden des SIGINT-Signals an den Prozess entsprechen. Überprüfen Sie die Einstellungen Ihres Terminalemulatorschlüssels.