From 2b173e831ff31d040366aefd76c4e6eac4a6c6df Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Sun, 15 Oct 2017 21:38:17 +0200 Subject: [PATCH] service_start(): Redirect service output to /dev/null by default This patch prevents output of stderr/stdout from services to leak to the console. Use the 'log' keyword to service/run/task stanza to redirect output to syslog. Signed-off-by: Joachim Nilsson --- src/service.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/service.c b/src/service.c index 4792a577..ee76826e 100644 --- a/src/service.c +++ b/src/service.c @@ -265,7 +265,17 @@ static int service_start(svc_t *svc) dup2(fd, STDERR_FILENO); close(fd); } + } else { + FILE *fp; + + fp = fopen("/dev/null", "w"); + if (fp) { + dup2(fileno(fp), STDOUT_FILENO); + dup2(fileno(fp), STDERR_FILENO); + } + fclose(fp); } + logger_err: sig_unblock();