Ein Prozess hat einen 'Gabel'-Aufruf, nachdem ein Signal-Handler [für SIGINT] registriert wurde. Was passiert, wenn SIGINT über die Befehlszeile gesendet wird? ob Elternteil oder Kind oder beides verlassen wird? Eltern und Kind laufen beide in unendlichen While-Schleifen.Verhalten von Eltern und Kind für einen Signal-Handler
8
A
Antwort
12
Wenn Sie fork
(ohne weitere exec*
) tun, nachdem ein Signal-Handler registriert wurde, wird der gleiche Signal-Handler in den übergeordneten und untergeordneten Prozessen verwendet. Das heißt, wenn Sie etwas anderes als 10 in Ihrem SIGINT
Handler tun, wird weder Eltern noch Kind beenden (wie SIGINT
wurde hier irrelevant).
Wenn Sie ein SIGINT
bedeuten vom Terminal gesendet (von vintr
Zeichen, das in der Regel ist Ctrl+C
): es wird durch Verfahren erhalten werden, unter Verwendung des Terminal als Terminal zu steuern. Das heißt, wenn Sie Kind oder Eltern nicht vom steuernden Terminal trennen, reagieren beide auf Ctrl+C
, indem Sie Ihren SIGINT
-Handler aufrufen.
Verwandte Themen
- 1. Wählen Sie eine Zeile für jedes Paar von Eltern-Kind- und Kind-Eltern-Beziehungen
- 2. finden Eltern und erstes Kind davon Eltern
- 3. Kind nimmt Breite% von den Eltern Eltern
- 4. Netsuite Eltern-Kind-Beziehungen und Inline-Bearbeitung
- 5. ausblenden und zeigen Eltern und Kind Menüleiste
- 6. Javascript Funktionen und Kind/Eltern Vererbung
- 7. Eltern-Kind-Beziehung
- 8. MyBatis Eltern Kind Beziehung
- 9. Core Data - Sortierdeskriptor für Eltern/Kind-Hierarchie
- 10. jQuery removeClass für Eltern/Geschwister/Kind
- 11. Eltern Kind (Speichern, Aktualisieren und Löschen)
- 12. Eltern-Kind-Modell Interaktion
- 13. MySql: ORDER BY Eltern und Kind
- 14. Datasets, Eltern/Kind-Tabellenrelationen und Gridview-Steuerelemente
- 15. Eltern-Kind-Sortierung
- 16. Oracle/SQL - Eltern und Kind Datensätze zurückgeben
- 17. Hibernate-Eltern Kind-Mapping
- 18. Erhalten Sie alle Eltern für ein Kind
- 19. MDX-Abfrage für Eltern Kind Beziehung
- 20. Eltern Eltern Kind Daten über sql
- 21. Eltern-Kind-Höhe Problem
- 22. Microdata Eltern/Kind
- 23. Join zwischen Eltern und Kind Tisch
- 24. Holen Eltern und erste Wegstück Kind jQuery
- 25. SQL-Abfrage für Eltern Kind Beziehung
- 26. Unix Pthreads und Signale: pro Thread Signalhandler
- 27. AS3 Eltern/Kind-Beziehungen verstehen
- 28. Java Baum Implementierung Eltern und Kind Konzept
- 29. Querverweise zwischen Eltern und Kind Klasse
- 30. Bidirektionale Kind-Eltern-Beziehung
Aber der Signalhandler ist vor fork() registriert, also sollte das Kind die Kopie nicht haben. Nach fork() sollte das Kind die Anweisungen ausführen, die auf fork() folgen. Die Registrierung des Signal-Handlers erfolgt nur im übergeordneten Objekt. – Puneet
@Puneet Es * wird * vom Kind geerbt, was immer du denkst, wie es * sein * sollte. Siehe 'Mannsigaction'. Was ist daran so seltsam? Datei-Deskriptoren, die vor 'fork' geöffnet wurden, werden ebenfalls übernommen. Das Besondere an Signalen ist, dass nicht-standardmäßige, nicht-ignorierende * Handler * auf 'execve' & friends zurückgesetzt werden (weil die Adresse des Handlers in einer neuen ausführbaren Datei keinen Sinn ergibt), aber das passiert nicht auf' fork'. –
Danke, Sir ... Zweifel beseitigt ... – Puneet