Re: propsal: all daemons should chdir / on startup
Topi Miettinen <Topi.Miettinen@ml.tele.fi> writes:
> At least atd, tcplogd, icmplogd and xfs don't do setsid(). How about adding
> some coding advice in Policy, something like your sentence?
I don't think it's the policy document's job to teach people how to do
Unix system programming.
Lack of an setsid() doesn't necessarily imply that there's a bug.
There are other, more complicated, ways to make sure that you don't
have a controlling terminal, but unless you care about ancient Unixes
I wouldn't worry about them.
Startup code for a daemon would usually look something like (naturally
you would have to add error checking):
if (fork() == 0)
exit(0);
setsid();
chdir("/");
umask(0);
for (i=0; i<sysconf(_SC_OPEN_MAX); i++)
close(i);
Guy
Reply to: