Package: lintian Version: 2.5.22ubuntu1 Severity: wishlist The debian policy (9.3.2) states:
reload cause the configuration of the service to be reloaded without actually stopping and restarting the service However I feel that a lot of packages have init scripts which contain something like: case "$1" in reload|restart) stop_service start_service ;; Disobeying this rule in the SysV-init days was harmless. But it turns out that systemd is more strict. It makes sure that after "/etc/init.d/something reload" exits, no processes spawned by it remain alive. I just plain kills them off with a SIGKILL (see log below). This behaviour is not very well documented, and it took me a while to track down the cause of the service disappearing (systemtap is awesome). It would be nice if lintian caught this early, even if a simple regex check would not be 100% accurate. lip 05 08:50:25 piec systemd[3179]: Executing: /etc/init.d/knockd reload lip 05 08:50:25 piec knockd[3179]: Stopping Port-knock daemon: knockd. lip 05 08:50:26 piec knockd[3184]: starting up, listening on eth0 lip 05 08:50:26 piec knockd[3179]: Starting Port-knock daemon: knockd. lip 05 08:50:31 piec systemd[1]: Received SIGCHLD from PID 3179 (knockd). lip 05 08:50:31 piec systemd[1]: Child 3179 (knockd) died (code=exited, status=0/SUCCESS) <--- init script exits lip 05 08:50:31 piec systemd[1]: Child 3179 belongs to knockd.service lip 05 08:50:31 piec systemd[1]: knockd.service: control process exited, code=exited status=0 lip 05 08:50:31 piec systemd[1]: knockd.service got final SIGCHLD for state reload lip 05 08:50:31 piec systemd[1]: knockd.service changed reload -> running lip 05 08:50:31 piec systemd[1]: Job knockd.service/reload finished, result=done lip 05 08:50:31 piec systemd[1]: Reloaded LSB: port-knock daemon. lip 05 08:50:31 piec systemd[1]: Got disconnect on private connection. lip 05 08:50:31 piec systemd[1]: Received SIGCHLD from PID 3184 (knockd). lip 05 08:50:31 piec systemd[1]: Child 3184 (knockd) died (code=killed, status=9/KILL) <--- service killed off lip 05 08:50:31 piec systemd[1]: Child 3184 belongs to knockd.service lip 05 08:50:31 piec systemd[1]: knockd.service: cgroup is empty lip 05 08:50:31 piec systemd[1]: knockd.service changed running -> exited -- System Information: Debian Release: jessie/sid Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.2.0-35-generic (SMP w/4 CPU cores) Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: upstart (via init_is_upstart()) Versions of packages lintian depends on: ii binutils 2.24-5ubuntu14.1 ii bzip2 1.0.6-5 ii diffstat 1.58-1 ii file 1:5.14-2ubuntu3.3 ii gettext 0.18.3.1-1ubuntu3 ii hardening-includes 2.5ubuntu2.1 ii intltool-debian 0.35.0+20060710.1 ii libapt-pkg-perl 0.1.29build1 ii libarchive-zip-perl 1.30-7 ii libclass-accessor-perl 0.34-1 ii libclone-perl 0.36-1 ii libdpkg-perl 1.17.5ubuntu5.6 ii libemail-valid-perl 1.192-1 ii libfile-basedir-perl 0.03-1fakesync1 ii libipc-run-perl 0.92-1 ii liblist-moreutils-perl 0.33-1build3 ii libparse-debianchangelog-perl 1.2.0-1ubuntu1 ii libtext-levenshtein-perl 0.06~01-2 ii libtimedate-perl 2.3000-1 ii liburi-perl 1.60-1 ii man-db 2.6.7.1-1ubuntu1 ii patchutils 0.3.2-3 ii perl [libdigest-sha-perl] 5.18.2-2ubuntu1.1 ii t1utils 1.37-2ubuntu1.1 Versions of packages lintian recommends: ii libautodie-perl 2.23-1 ii libperlio-gzip-perl 0.18-1build3 ii perl-modules [libautodie-perl] 5.18.2-2ubuntu1.1 Versions of packages lintian suggests: pn binutils-multiarch <none> ii dpkg-dev 1.17.5ubuntu5.6 ii libhtml-parser-perl 3.71-1build1 ii libtext-template-perl 1.46-1 pn libyaml-perl <none> ii xz-utils 5.1.1alpha+20120614-2ubuntu2 -- no debconf information