diff --git a/shell/msh.c b/shell/msh.c index b3bb06b28..4fe80fd75 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -3026,6 +3026,10 @@ forkexec(REGISTER struct op *t, int *pin, int *pout, int act, char **wp) if (resetsig) { signal(SIGINT, SIG_DFL); signal(SIGQUIT, SIG_DFL); + } else { + /* put non-interactive processes into a different process group. + * we don't support jobs, but this is at least sane: see Bug 659 */ + setpgrp(); } if (t->type == TPAREN)