On 30/04/2016 16:06, Guillermo wrote:
I think I made a mistake in that description. The s6rc-oneshot-runner service is an s6-ipcserverd process that spawns s6-sudod processes. And the program executed by s6-sudod gets its stdout and stderr from the corresponding s6-sudoc process by default. Therefore, the output of s6-rc oneshots wouldn't go to s6-svscan's stdout / stderr, but to those of whoever made the 's6-rc change' call. When the machine is booting or shutting down, that would be the stage2 or stage2_finish script, respectively, which, depending on the setup, may or may not have their output redirected to the catch-all logger.
That is correct.
So for oneshots, explicit redirections in their service definition might not be needed after all...
If you want your services to print stuff to /dev/console no matter how they're launched, you will need the redirection. If you don't explicitly redirect to /dev/console, you depend on s6-linux-init not redirecting the stage 2 output to the catch-all logger. -- Laurent
