?????????????????????

???????????????????????????С??????????DOS?μ?????????TSR??????????Σ???????????????????????????????????Щ????????δ???????????????????????????????飬????????????????????????Щ???????????????????????????????????shell???м??????????????????????????????????????????????Linux??????????????/etc/rc.d?????????????????滮????crond?????????????????????????shell????С?

???????????????Щ??????????????????????????????????????????????д???????????????????????????????????????????????????????????????????????б?????????????????????????

?????????????????????

??????潲???????Unix???????????????????????????????????????????????????????????????????????????????????????????????????????????Linux?????Syetem V??SVR4?????Posix??????????????BSD4?????????????????£?

????1?????????С?

???????????????????Daemon????????С?????????????е???fork??????????????Daemon????????к????С?

if(pid=fork())
exit(0);//???????????????????????????

????2?????????????????????????

?????б??????????Linux?е?????????????????????????????????????????????????飬????????GID????????鳤???????PID????????????????????????顣??Щ?????鹲??????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????1?????????????setsid()??????????鳤??

setsid();

???????????????????鳤?setsid()??????????????????????????????鳤??setsid() ???ó???????????μ???鳤???μ?????鳤??????????????????????????????????????????????????????????????????

????3????????????′????????

???????????????????????????鳤??????????????????????????????????????????????????鳤????????????′?????????

if(pid=fork())
exit(0);//?????????????????????????????????????????鳤??

????4?????????????????

????????????????????????????????????????????粻?????????????????????????????????????ж????????????????????????·???????????

for(i=0;i ???????????????close(i);>

????5????????????

?????????????乤??????????????????ж?????????????????????????????????????????д?????????????????????????????/tmpchdir(“/”)

????6????????????????

????????????????????????????????????????????????????????????????????????λ????????????????????????????umask(0)??

????7??????SIGCHLD???

????????SIGCHLD????????????????????Щ????????????????????????????????????????????????????????????????????????????????????????zombie????????????????????????????????????????????????????????????????????????????Linux????????? SIGCHLD??????????SIG_IGN??

signal(SIGCHLD??SIG_IGN);

??????????????????????????????????????????????BSD4?????BSD4?±???????????????????????????????