From: Kay Sievers Date: Thu, 4 Jul 2013 22:32:05 +0000 (+0200) Subject: suppress status message output at shutdown when 'quiet' is given X-Git-Tag: v206~185 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ec26be514ff3c5367b21f9881369080bda54fd2d suppress status message output at shutdown when 'quiet' is given --- diff --git a/src/core/main.c b/src/core/main.c index ada0f9d94..243855fa1 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1942,9 +1942,9 @@ finish: watchdog_close(true); } - /* avoid the creation of new processes forked by the kernel; at this + /* avoid the creation of new processes forked by the kernel; at this * point, we will not listen to the signals anyway */ - cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); + cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER); execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block); free(env_block); diff --git a/src/core/shutdown.c b/src/core/shutdown.c index 2db761de3..c02a14d66 100644 --- a/src/core/shutdown.c +++ b/src/core/shutdown.c @@ -39,6 +39,7 @@ #include "missing.h" #include "log.h" +#include "fileio.h" #include "umount.h" #include "util.h" #include "mkdir.h" @@ -130,12 +131,26 @@ static int pivot_to_new_root(void) { } int main(int argc, char *argv[]) { + _cleanup_free_ char *line = NULL; int cmd, r; unsigned retries; bool need_umount = true, need_swapoff = true, need_loop_detach = true, need_dm_detach = true; bool in_container, use_watchdog = false; char *arguments[3]; + /* suppress shutdown status output if 'quiet' is used */ + r = read_one_line_file("/proc/cmdline", &line); + if (r >= 0) { + char *w, *state; + size_t l; + + FOREACH_WORD_QUOTED(w, l, line, state) + if (streq(w, "quiet")) { + log_set_max_level(LOG_WARNING); + break; + } + } + log_parse_environment(); log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */ log_open();