diff --git a/src/execute.c b/src/execute.c index 1076834702..37b2f8412c 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 2515cd305f..0615b51490 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;