Als «signals» getaggte Fragen

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

14
Was hat meinen Prozess getötet und warum?
Meine Anwendung wird als Hintergrundprozess unter Linux ausgeführt. Es wird derzeit über die Befehlszeile in einem Terminalfenster gestartet. Kürzlich hat ein Benutzer die Anwendung für eine Weile ausgeführt und sie ist auf mysteriöse Weise gestorben. Der Text: Getötet war auf dem Terminal. Dies geschah zweimal. Ich habe gefragt, ob jemand …
614 linux  process  kill  signals 

12
Wie erfasse ich SIGINT in Python?
Ich arbeite an einem Python-Skript, das mehrere Prozesse und Datenbankverbindungen startet. Hin und wieder möchte ich das Skript mit einem Ctrl+ C-Signal beenden und möchte eine Bereinigung durchführen. In Perl würde ich Folgendes tun: $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught ^C \n"; exit (0); } Wie mache ich …
535 python  controls  signals 


10
So verhindern Sie SIGPIPEs (oder behandeln sie richtig)
Ich habe ein kleines Serverprogramm, das Verbindungen über einen TCP- oder lokalen UNIX-Socket akzeptiert, einen einfachen Befehl liest und je nach Befehl eine Antwort sendet. Das Problem ist, dass der Client manchmal kein Interesse an der Antwort hat und vorzeitig beendet wird. Wenn Sie also in diesen Socket schreiben, wird …
260 c  io  signals  broken-pipe  sigpipe 



9
Was ist der Unterschied zwischen Sigaktion und Signal?
Ich wollte einer App, die wir hier haben, einen zusätzlichen Signalhandler hinzufügen, und ich bemerkte, dass der Autor sigaction()die anderen Signalhandler eingerichtet hatte. Ich würde benutzen signal(). Um der Konvention zu folgen, sollte ich verwenden, sigaction()aber wenn ich von Grund auf neu schreibe, welche sollte ich wählen?
143 c  signals  posix 



2
Signalverarbeitung mit mehreren Threads unter Linux
Was passiert unter Linux, wenn ein Programm (das möglicherweise mehrere Threads hat) ein Signal wie SIGTERM oder SIGHUP empfängt? Welcher Thread fängt das Signal ab? Können mehrere Threads das gleiche Signal erhalten? Gibt es einen speziellen Thread, der ausschließlich dem Umgang mit Signalen gewidmet ist? Wenn nicht, was passiert innerhalb …
119 c  linux  multithreading  signals  ipc 


4
Wie kann ich SIGSEGV (Segmentierungsfehler) abfangen und unter JNI unter Android einen Stack-Trace abrufen?
Ich verschiebe ein Projekt auf das neue Android Native Development Kit (dh JNI) und möchte SIGSEGV abfangen, falls es auftreten sollte (möglicherweise auch SIGILL, SIGABRT, SIGFPE), um stattdessen einen schönen Dialog zur Absturzberichterstattung zu präsentieren (oder vorher) was aktuell passiert: der sofortige, zügellose Tod des Prozesses und möglicherweise ein Versuch …



7
Wie vermeide ich die Verwendung von printf in einem Signalhandler?
Da printfes nicht wiedereintrittsfähig ist, sollte es nicht sicher sein, es in einem Signalhandler zu verwenden. Aber ich habe viele Beispielcodes gesehen, die printfdiesen Weg verwenden. Meine Frage lautet also: Wann müssen wir die Verwendung printfin einem Signalhandler vermeiden , und gibt es einen empfohlenen Ersatz?
85 c  linux  signals 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.