Mitchel Humpherys wrote on 26/10/2021 21:16:
On my Manjaro and Ubuntu systems I'm not seeing all of the "pizza" lines (logs pasted here [3]). On Debian I see the "pizza" and "pie" lines interleaved as expected. It also works as expected when I run the script without systemd on Manjaro.

Any ideas what's going on here? Why am I not seeing all of the output from `tee' on some systems?

[2] https://github.com/mgalgs/systemd-tee-output-issue

Looking at the output there, the only thing I can see that's slightly odd is that the "pie" output comes from the service's main pid (as expected) but as tee is forked off the output there that *is* captured is from a different pid each time.

So I wonder if this is some kind of cgroup race thing? i.e. the forked off process is not (always) detected as being part of the unit in question and thus isn't logged against the unit? If this is the case is the a bash trick you can use to buffer the output back to the parent process - e.g. just surrounding the command in parenthesis or something? (I'm not a bash expert so no idea if this would work as a workaround!). Appreciate any code change to work around this isn't ideal anyway, but just trying to help debug the underlying problem.

This is just a random guess and might not at all be how the logging or cgroup handing works!

Col

--

Colin Guthrie


Reply via email to