[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