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

???????????????????????????小??????????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?卤???????????????????????????????