]> git.ipfire.org Git - thirdparty/systemd.git/commit
log: skip reading the kernel command line if the process is invoked by a script 18375/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 26 Jan 2021 07:12:41 +0000 (16:12 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 31 Jan 2021 16:19:57 +0000 (01:19 +0900)
commit85cf96e3f567cd51f79d671bbf3559550fdd67b7
tree389847170a2b55623c51a36d583bfe63e0a2ba27
parentd754890843db3c2784b4299fc9b9b6968e2ad533
log: skip reading the kernel command line if the process is invoked by a script

CLI tools may be used in a script. E.g., a script for monitoring a
service may use `systemctl`. Previously, if the kernel command line has
e.g. systemd.log-level=debug, then systemctl in the script produces
debugging logs when the script is invoked by a .service unit, but does
not when the script is running in a terminal. Then,
https://github.com/systemd/systemd/pull/18281#discussion_r561697482,
> I expect users to be (negatively) surprised.

In the previous commit, $SYSTEMD_EXEC_PID= is introduced. Then, we can
now detect whether a command is directly invoked by systemd or through
a script. Let's skip reading the kernel command line when a command is
invoked through a script.
src/basic/log.c