Ich kenne einen Interrupt, dh Ctrl+, Cder vom Benutzer im Terminal aufgerufen werden kann (kann er an anderer Stelle aufgerufen werden?)
Gibt es andere Interrupts, die auch vom Benutzer aufgerufen werden können?
gnome-terminal
registrierter Nutzer
quelle
quelle
Antworten:
Soweit ich weiß, sind die einzigen Signale, die eine Standardtastenkürzel in der Shell haben,
SIGINT
( Ctrl+ C), um einen Prozess zu stoppen undSIGSTOP
( Ctrl+ Z), um einen anzuhalten .Anscheinend gibt es, wie Radu Rădeanu mir gerade beigebracht hat , auch Ctrl+, \das zugeordnet ist
SIGQUIT
.Sie finden eine Liste aller Signale und deren Funktionsweise in
man 7 signal
:Sie können die auf Ihrem System verfügbaren Signale anzeigen mit
kill -l
:Beachten Sie, dass es viele
SIGRTMAX
undSIGRTMIN
Signale gibt. Der Linux-Kernel unterstützt 32 verschiedene Signale. Der tatsächlich unterstützte Signalbereich hängt jedoch von derglibc
Implementierung auf Ihrem System ab.quelle
for f in {1..9};do man $f SIGINT; done
SIGSTOP
, danke, das war ein Tippfehler. Es gibt keine Manpages für die spezifischen Signale. Sie sollten den genauen Befehl ausführen, den ich gegeben habe :man 7 signal
.Das SIGQUIT-Signal ähnelt SIGINT (erzeugt von Ctrl+ C), außer dass es von einem anderen Schlüssel gesteuert wird - dem QUIT-Zeichen, normalerweise Ctrl+ \- und einen Core-Dump erzeugt, wenn es den Prozess beendet, genau wie ein Programmfehlersignal. Sie können sich dies als eine vom Benutzer "erkannte" Programmfehlerbedingung vorstellen.
Also, Ctrl+ \(Strg + Backslash) könnte das sein, was Sie wollen.
Referenz: Kündigungssignale .
quelle