Hi all - I had a use-case where I needed s6-tcpclient to be completely
silent, no matter the error (my existing system reads standard output
and standard error, and tries to parse it).
Sorry, not applying this patch. Parsing stderr is not supported:
this would make error message format a public API, which it isn't
(and depends on the libc anyway). That's the main difference between
stdout and stderr: stdout messages are API, but stderr messages are
not - they are ultimately made for human consumption, not machine
Long-term, I'm going to change the system to log (but not parse)
error from child processes. In the meantime, I figured this could be a
useful feature for others.
No. Don't help people mistakenly rely on whether stderr prints
something or not. :P
In the case of s6-tcpclient, verbosity 0 (-q) ensures it only writes to
stderr if it dies, meaning that your application is not run anyway. So
you can have a completely silent s6-tcpclient if your application runs.
And of course, you can always redirect stderr to /dev/null, but that
silences everything, including your application ^^