Hey everybody
I have a logger supervised by the very s6-svscan instance it logs
through the fifo trick.
Now sending SIGTERM to the s6-svscan process won't work, since it waits
for the logger forever,
which in turn waits for s6-svscan to close the fifo.
I have solved this by the following script:
.s6-svscan/SIGTERM
| #!/bin/execlineb -P
|
| # in case no message has been sent yet
| foreground { echo }
|
| foreground { s6-svc -h s6-svscan-log }
|
| s6-svscanctl -t .
This has the obvious downside that the catch all logger is brought down
early.
Since this is not the main supervision tree, I require the ability to
stop this instance of s6-svscan.
This also means that it is not too bad that the catch all logger is
brought down early,
since logs are propagated up the hierarchy.
Still, I wonder whether there is a more elegant solution to this.
Regards
Paul
Received on Mon Dec 02 2024 - 18:35:10 CET