Add truncate: to StandardOutput= etc.

This adds the ability to specify truncate:PATH for StandardOutput= and
StandardError=, similar to the existing append:PATH. The code is mostly
copied from the related append: code. Fixes #8983.
This commit is contained in:
Lucas Werkmeister
2021-01-15 09:54:50 +01:00
committed by Lennart Poettering
parent e2ebc406ac
commit 8d7dab1fda
9 changed files with 80 additions and 14 deletions
@@ -0,0 +1,13 @@
[Unit]
Description=Test for StandardOutput=truncate:
[Service]
ExecStartPre=sh -c 'printf "hello\n" > /tmp/test-exec-standardoutput-output'
ExecStartPre=sh -c 'printf "hi\n" > /tmp/test-exec-standardoutput-expected'
StandardInput=data
StandardInputText=hi
StandardOutput=truncate:/tmp/test-exec-standardoutput-output
StandardError=null
ExecStart=cat
ExecStartPost=cmp /tmp/test-exec-standardoutput-output /tmp/test-exec-standardoutput-expected
Type=oneshot
+12
View File
@@ -43,6 +43,18 @@ a
c
EOF
systemd-run --wait --unit=test27-four \
-p StandardOutput=truncate:/tmp/stdout \
-p StandardError=truncate:/tmp/stderr \
-p Type=exec \
sh -c 'echo a ; echo b >&2'
cmp /tmp/stdout <<EOF
a
EOF
cmp /tmp/stderr <<EOF
b
EOF
systemd-analyze log-level info
echo OK >/testok