2017-05-23 2 views
2

Ich habe einen Elternprozess, der das Signal SIGCHLD behandelt. Wenn ich abort() in dem unterordneten Prozess aufrufen, wird das SIGABRT Signal in dem unterordneten Prozess ausgelöst.Systemaufruf Verhalten abbrechen

Meine Frage ist, zum Zeitpunkt der Kind Prozess Kerndumping, SIGCHLD Signal wird an den übergeordneten Prozess gesendet werden oder nicht?

Antwort

4

Das SIGCHLD Signal ist immer durch die (unixoide mindestens) so bald OS an Ihren Prozess gesendet, wenn das Kind stirbt - egal aus welchem ​​Grund, es stirbt (wegen SIGABRT oder SIGSEGV, endet regelmäßig mit dem Aufruf von exit oder einfach verlassen main, ...).

Sie erhalten einige Informationen darüber, was in dem untergeordneten Element in der Statusvariablen aufgetreten ist, die Sie den Funktionen der Wait-Familie zur Verfügung stellen. Ein kleines Beispiel finden Sie. G. here.