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: