I'm trying to get init to start processes using sucap, and getting the
error "Failed to set process group: Operation not permitted", indicating
that the call 'setpgid(0, getpid())' failed.
The command in question is:
sucap syslogd syslogd cap_net_bind_service=eip syslogd -n -f /etc/syslogd.conf
When the exact command is run from a root shell, the error does not
occur (syslogd runs).
When the command is changed to "strace sucap...", the error does not occur.
When the command is wrapped in 'bash -c "sucap..."', it fails, unless the
output is redirected, in which case it works.
The salient difference I see is that it fails exactly when
(getpgid() != getppid() before the call to setpgid(). I don't
understand all the tests in sys.c, unfortunately, though by process
of elimination it must be the 'if (p->leader)' test at kernel.sys:798.
Is there some reason for this behaviour, or is it a bug?
I am happy to test theories or get educated...
-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Jun 30 2000 - 15:06:16 EDT