signals

Ein Signal ist eine Benachrichtigung an einen Prozess, bei dem ein Ereignis aufgetreten ist. Signale werden manchmal als Software-Interrupts bezeichnet. Signale sind analog zu Hardware-Interrupts insofern, als sie den normalen Ablauf der Ausführung eines Programms unterbrechen; In den meisten Fällen ist es nicht möglich, genau vorherzusagen, wann ein Signal ankommt. Sie sind in den C-Standards definiert und in POSIX erweitert, aber viele andere Programmiersprachen / -systeme bieten auch Zugriff darauf.
3
Antworten

sigsuspend vs zusätzliche Signale während der Ausführung des Handlers geliefert

sigsuspend ändert die Signalmaske und unterbricht die Ausführung des aufrufenden Threads, bis er empfangen wird ein "Signal, dessen Wirkung entweder darin besteht, eine Signalfangfunktion auszuführen oder den Prozess zu beenden" und dann (f...
14.11.2016, 15:17
2
Antworten

Signale, die von bash empfangen werden, wenn das Terminal geschlossen wird

Verwenden Sie den Trap, um Signale wie folgt zu erfassen: %Vor% Und schließe das Terminal mit Gewalt. Der Inhalt in log.txt ist dann (unter redhat linux):    1       18       1       17       0 Woher kommen diese Signale?     
05.04.2011, 01:35
2
Antworten

Perl: Schließen der Subprozess-Pipe im Signal-Handler hängt?

Ich muss bei einem Skript, das die Blockierung von io blockiert, Timeouts geben. Überraschenderweise stellt sich heraus, dass exit hängt, wenn eine offene Pipe zu einem Subprozess existiert: %Vor% Ohne open call funktioniert es, das E...
25.01.2016, 05:27
1
Antwort

Kann es zwischen signalfd und sigaction ein Wettrennen geben?

Die klassische Methode, einen Handler für ein bestimmtes Signal anzugeben, ist via sigaction . Linux stellt zusätzlich die signalfd -Funktionalität zur Verfügung, wo wir Signale mit einem Dateideskriptor verbinden und dann select / (e) poll...
26.11.2013, 21:14
4
Antworten

Gemeinsame Daten in einem Signal-Handler lesen

Ich bin in einer Situation, in der ich einen binären Suchbaum (BST) in einem Signal-Handler lesen muss ( SIGSEGV Signal-Handler, der nach meinem Wissen pro Thread-Basis ist). Die BST kann von den anderen Threads in der Anwendung geändert werden...
13.12.2011, 16:00
2
Antworten

C-Verknüpfung für den an die C-Bibliothek übergebenen Funktionszeiger

Mein Fall ist ziemlich einfach: Ich möchte, dass mein C ++ - Programm Unix-Signale verarbeitet. Dazu stellt glibc eine Funktion in signal.h namens sigaction bereit, die erwartet, dass sie einen Funktionszeiger als zweites Argument erhält. %...
13.05.2013, 11:28
1
Antwort

Sind sig_atomic_t und std :: atomic interchangeable

Wie im Titel angegeben. Kann ich std::atomic<> in einem Signalhandler verwenden oder stellt sig_atomic_t andere Compilerfunktionen zur Verfügung?     
11.04.2013, 12:39
1
Antwort

Wie wird der Lesevorgang von Bash nach dem Überfüllen des Interrupts abgebrochen?

Überlegen Sie: %Vor% (ctrl-c wurde 3 mal getroffen, gefolgt von ctrl-d) Ich möchte, dass read nach der Ausführung der Falle abgebrochen wird. Gibt es einen sauberen Weg, dies zu erreichen?     
07.12.2017, 18:28
1
Antwort

Software unterbricht VS Systemaufrufe

Ich hatte eine Frage, von der ich nicht weiß, ob sie überhaupt Sinn ergibt: Wenn es in einem Unterbrechungsvektor eine Unterbrechungsfunktion gibt, bei der jeder Adressenschlitz ein Zeiger auf eine Funktion ist, die den Interrupt behandelt (Art...
14.08.2014, 01:05
1
Antwort

signal.alarm-Funktion mit einer Auflösung von mehr als 1 Sekunde?

Ich versuche eine Python-Timeout-Ausnahme zu erstellen, die in Millisekunden ausgeführt wird. Die python signal.alarm-Funktion hat eine Auflösung von 1 Sekunde. Wie würde man eine äquivalente Funktion erhalten, die ein SIGALRM-Signal für e...
22.09.2010, 15:12