From 15ca554ba3a40e6840c6d6095ec90cf448720454 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 19 May 2010 04:28:25 +0200 Subject: [PATCH] service: by default send service output to syslog, except for SysV services which should go to the console --- src/execute.c | 4 ++++ src/service.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/execute.c b/src/execute.c index 107683470..37b2f8412 100644 --- a/src/execute.c +++ b/src/execute.c @@ -1087,6 +1087,10 @@ void exec_context_init(ExecContext *c) { c->cpu_sched_policy = SCHED_OTHER; c->syslog_priority = LOG_DAEMON|LOG_INFO; c->mount_flags = MS_SHARED; + + c->std_input = EXEC_INPUT_NULL; + c->std_output = EXEC_OUTPUT_SYSLOG; + c->std_error = EXEC_OUTPUT_SYSLOG; } void exec_context_done(ExecContext *c) { diff --git a/src/service.c b/src/service.c index 2515cd305..0615b5149 100644 --- a/src/service.c +++ b/src/service.c @@ -632,6 +632,11 @@ static int service_load_sysv_path(Service *s, const char *path) { s->valid_no_process = true; s->kill_mode = KILL_PROCESS_GROUP; + /* For SysV services log output should go to the console */ + s->exec_context.std_input = EXEC_INPUT_NULL; + s->exec_context.std_output = EXEC_OUTPUT_TTY; + s->exec_context.std_error = EXEC_OUTPUT_TTY; + u->meta.load_state = UNIT_LOADED; r = 0; -- 2.30.2