[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kill, Signal, reagierende Programme



Am 6. Februar 2017 um 19:12 schrieb Gerhard Wolfstieg <gw@wolfstieg.com>:

> Für Konsolenprogramme wäre ein Mechanismus genauso sinnvoll, wie sich
> auch hier langsam zeigt. Sind irgendwelche Programme bekannt, die auf
> bestimmte Signale reagieren können und wie machen die das dann?

Viele(?) Dämonen reagieren auf ein SIGHUP in dem sie ihre
Konfiguration neu einlesen und/oder Filehandles schließen (und wieder
öffnen).
Damit muss der Dienst für Logrotate oder Konfig Änderungen nicht neu
gestartet werden.
Siehe z.B. die nginx manpage:

SIGNALS
     The master process of nginx can handle the following signals:

     SIGINT, SIGTERM  Shut down quickly.
     SIGHUP           Reload configuration, start the new worker
process with a new configuration, and gracefully shut down old worker
processes.
     SIGQUIT          Shut down gracefully.
     SIGUSR1          Reopen log files.
     SIGUSR2          Upgrade the nginx executable on the fly.
     SIGWINCH         Shut down worker processes gracefully.



>   In C++ wäre theoretisch noch denkbar, daß der Hauptkörper von main()
> in einen try/catch Block geklammert wird …

Das ist selbst in der bash nicht nur theoretisch möglich:

z.B.:
http://www.linuxquestions.org/questions/programming-9/signal-handling-from-bash-257157/

Viel Spaß beim weiter googlen und lernen ;)

Stefan


Reply to: