diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index a3c641e116..9b0169f0d6 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -2429,8 +2429,15 @@ SystemCallErrorNumber=EPERM it. For units with multiple command lines, e.g. Type=oneshot services with multiple ExecStart=, or services with ExecCondition=, ExecStartPre= or ExecStartPost=, the output file is reopened - and therefore re-truncated for each command line. Any ExecReload= will likewise - truncate the file when run. + and therefore re-truncated for each command line. If the output file is truncated while another + process still has the file open, e.g. by an ExecReload= running concurrently with + an ExecStart=, and the other process continues writing to the file without + adjusting its offset, then the space between the file pointers of the two processes may be filled + with NUL bytes, producing a sparse file. Thus, + is typically only useful for units where + only one process runs at a time, such as services with a single ExecStart= and no + ExecStartPost=, ExecReload=, ExecStop= or + similar. connects standard output to a socket acquired via socket activation. The semantics are similar to the same option of StandardInput=, see above.