[packages/lighttpd] the systemd service file actually added
Jacek Konieczny
jajcus at jajcus.net
Sun Nov 11 15:32:36 CET 2012
On Sun, Nov 11, 2012 at 03:17:29PM +0100, Jacek Konieczny wrote:
> On Sun, Nov 11, 2012 at 02:20:10PM +0100, Paweł Gołaszewski wrote:
> > > Z systemd jest o tyle fajnie (w szczególności w porównaniu do Upstart),
> > > że potrafi on ładnie zarządzać całym drzewkiem procesów – więc angel nic
> > > nie powinien psuć, a chociażby graceful reload załatwi.
> >
> > Ale do graceful nie potrzebujesz angela. Jedyna różnica była taka, że z
> > angelem graceful to inny sygnał (AFAIR: HUP z angelem, a INT bez niego)
>
> Ok… sprawdziłem źródła aniołka… tam nic nie ma…
>
> Widać się zasugurerowałem czymś co poczytałem o angel dla lighttpd2…
> dobra, daję samo lighttpd w takim razie…
Może jeszcze się pospieszyłem…
Sam lighttpd nie ma żadnego 'reload', ma 'graceful stop' pod SIGINT
i niezbyt 'graceful' pod SIGTERM oraz przeładowanie logów pod SIGHUP.
To co robi lighttpd-angel to specjalna obsługa SIGHUP: zatrzymanie
lighttpd przez SIGINT (graceful) i restart.
To daje nam możliwość użycia 'ExecReload' w lighttpd.service. Z samym
lighttpd czegoś takiego jak 'reload' w systemd nie ma jak zrobić. Jak
dam:
ExecReload=/bin/kill -HUP $MAINPID
To będzie to 'flush logs' a nie 'reload'.
Jakbym spróbował zreplikować to co robi angel:
ExecReload=/bin/kill -INT $MAINPID ; usleep 5000 ; /usr/sbin/lighttpd ...
To, w ten sposób tylko zabiję działający proces, nawet go nie
zrestartuję…
Pytanie: czy w ogóle chcemy takie 'reload' (w praktyce restart)? IMHO
lepsze niż żadne.
Przy okazji… zastanawiam się, czy 'systemctl stop' powinno robić
SIGTERM (standardowo), czy SIGINT (graceful shutdown)…
W ogóle ten lighttpd to jakaś kupa pod tym względem…
Pozdrowienia,
Jacek
More information about the pld-devel-pl
mailing list