diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index b13ec9e8..2a24799c 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -226,6 +226,7 @@ static void child_process(char *exec, char **argv) /* Close any fd's to the passwd database */ endpwent(); + /* remove the controlling tty */ #ifdef TIOCNOTTY ioctl(tty_fd, TIOCNOTTY, 0); close(tty_fd); @@ -696,6 +697,12 @@ int main(int argc, char **argv) rc_service_daemon_set(svcname, exec, (const char * const *) argv, pidfile, true); + /* remove the controlling tty */ +#ifdef TIOCNOTTY + ioctl(tty_fd, TIOCNOTTY, 0); + close(tty_fd); +#endif + /* * Supervisor main loop */