---
2. When I use emptyenv within an execlineb script, I have a "defunct"
zombie process
89685 3 S< 0:00.01 |-- s6-supervise base:time-srv
3020 - S<s 0:00.03 | `-- /usr/local/sbin/ntpd -c /etc/ntp.conf
-N -g -u ntpd --nofork
3601 - Z< 0:00.00 | `-- <defunct>
The time server script is
#!/usr/local/bin/execlineb -P
emptyenv
multidefine -d " " "base time ntpd /usr/local/sbin/ntpd" { JAIL SERVICE
USER PROGRAM }
background { echo Starting service $SERVICE using $PROGRAM on $JAIL
under user $USER }
fdmove 2 1
redirfd -w 1 /m/base:time/fifo
$PROGRAM -c /etc/ntp.conf -N -g -u $USER --nofork
removing emptyenv, prevents the zombie from being created. Is this normal?
---
3. Is it normal/standard/good practice to include a dependency in a
bundle. For example, I have a "time" bundle whose contents are
time-srv. time-srv starts the ntpd service, and has as a dependency
time-log.
Using "s6-rc -u change time", everything behaves as documented, ie
starts "time" which starts time-log, then time-srv. However
# s6-rc -v 9 -d change base:time
s6-rc: info: bringing selected services down
s6-rc: info: processing service base:time-srv: stopping
s6-rc: info: service base:time-srv stopped successfully
# Starting logging service time for base with user s6log folder
/var/log/time
and the time-log continues running.
Admittedly
# s6-svstat /s/scan/base:time-srv ; s6-svstat /s/scan/base:time-log
down (exitcode 0) 6 seconds, ready 6 seconds # This is time-srv
up (pid 85131) 6 seconds # This is time-log,so it
has been restarted
To obtain the desired/expected behaviour and bring time-log down must it
also be added to the bundle's contents?
These observations were made using FreeBSD 12.2Stable on amd64.
Apologies for still asking newbie questions, but I'm trying to embed s6
here, which translates to properly understand.
Regards, Dewayne.
Received on Sat Oct 03 2020 - 22:30:27 UTC
This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC