Signal-Handler fuer alle Signale Anmelden



  • Moin,

    ich brauche einen Signal-Handler, welche alle Signale verarbeitet. Leider weiss ich nicht, wie ich diesen Anmelden kann.

    signal(SIGINT, FUNKTION);

    Habe ich es richtig verstanden, dass ich mit dieser Funktion den Signal-Handler nur mit fuer das Signal SIGINT angemeldet habe?
    Mein Handler soll aber alle Signale verarbeiten koennen. Geht das oder muss ich fuer jedes Signal eine eigene Funktion haben?

    Danke im Vorraus



  • Du kannst kein kill-Signal abfangen. Aber du kannst fuer alle weiteren Signale die gleiche Funktion/Handler registrieren. Warum soll es denn alle Signale abfangen?



  • Du musst für jedes Signal die Funktion anmelden. Die Funktion bekommt als Parameter das Signal

    siehe http://www.kernel.org/doc/man-pages/online/pages/man2/signal.2.html

    edit: alternativ kannst du mit sigpending schauen, welche Signale noch nicht behandelt wurden.



  • knivil schrieb:

    Du kannst kein kill-Signal abfangen. Aber du kannst fuer alle weiteren Signale die gleiche Funktion/Handler registrieren. Warum soll es denn alle Signale abfangen?

    Das ist eine Uni Aufgabe, wo ich die Signale abfangen soll. Nur wusste ich nicht ob ich für jedes Signal speziell einen Handler angeben muss oder ob es eine Methode gibt, welche alle Signale abdeckt.


Anmelden zum Antworten