diff options
Diffstat (limited to 'src/service.c')
-rw-r--r-- | src/service.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c index ff74a6d668..80cd6ad9c6 100644 --- a/src/service.c +++ b/src/service.c @@ -708,7 +708,9 @@ static int service_load_sysv_path(Service *s, const char *path) { s->type = SERVICE_FORKING; s->remain_after_exit = true; s->restart = SERVICE_ONCE; - s->exec_context.std_output = s->meta.manager->sysv_console ? EXEC_OUTPUT_TTY : EXEC_OUTPUT_NULL; + s->exec_context.std_output = + (s->meta.manager->sysv_console || s->exec_context.std_input == EXEC_INPUT_TTY) + ? EXEC_OUTPUT_TTY : EXEC_OUTPUT_NULL; s->exec_context.kill_mode = KILL_PROCESS_GROUP; u->meta.load_state = UNIT_LOADED; |