Have s6-svscan send SIGTERM to one logger

From: Paul Sopka <psopka_at_sopka.ch>
Date: Mon, 2 Dec 2024 18:35:10 +0100

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

This archive was generated by hypermail 2.4.0 : Mon Dec 02 2024 - 18:35:48 CET