summaryrefslogtreecommitdiff
path: root/miscutils/crond.c
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils/crond.c')
-rw-r--r--miscutils/crond.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/miscutils/crond.c b/miscutils/crond.c
index bd7a177..1960a2c 100644
--- a/miscutils/crond.c
+++ b/miscutils/crond.c
@@ -779,6 +779,8 @@ ForkJob(const char *user, CronLine *line, int mailFd,
xmove_fd(mailFd, mail_filename ? 1 : 0);
dup2(1, 2);
}
+ /* "standard" cron puts tasks in separate process groups */
+ setpgrp();
execlp(prog, prog, cmd, arg, NULL);
crondlog(ERR20 "can't exec, user %s cmd %s %s %s", user, prog, cmd, arg);
if (mail_filename) {
@@ -914,6 +916,8 @@ static void RunJob(const char *user, CronLine *line)
if (DebugOpt) {
crondlog(LVL5 "child running %s", DEFAULT_SHELL);
}
+ /* "standard" cron puts tasks in separate process groups */
+ setpgrp();
execl(DEFAULT_SHELL, DEFAULT_SHELL, "-c", line->cl_Shell, NULL);
crondlog(ERR20 "can't exec, user %s cmd %s %s %s", user,
DEFAULT_SHELL, "-c", line->cl_Shell);