编写守护进程

   <李类=發ist-num-2-1 list-num1-paddingleft-1”>

<李类=發ist-num-2-2 list-num1-paddingleft-1”>

<李类=發ist-num-2-3 list-num1-paddingleft-1”>

,,,,

<李类=發ist-num-2-1 list-num1-paddingleft-1”>

<李类=發ist-num-2-2 list-num1-paddingleft-1”>

<李类=發ist-num-2-3 list-num1-paddingleft-1”>

<李类=發ist-num-2-4 list-num1-paddingleft-1”> # include  & lt; stdio.h>   # include  & lt; stdlib.h>   # include  & lt; unistd.h>   # include  & lt; sys/types.h>   # include  & lt; fcntl.h>   # include  & lt; string.h>   命令行参数个数,int 主要(int  const  char  * argv [])   {   ,pid_t  pid;   fd, int 我;   ,char  * buf =,“却;能够is  a  Daemon 日志\ n";=,,pid  fork ();   ,如果(pid  & lt;, 0)   ,{   ,,perror (“fail 用叉\ n");   退出才能(0);   ,}   ,如果(pid 祝辞,0),,//父进程退出,,第一步   ,{   退出才能(0);   ,}   ,setsid(),,,,,//第二步   ,目录(“/tmp");,,//第三步   ,umask(0);,,//第四步   ,   ,(小姐:=,0;小姐:& lt;, getdtablesize();我+ +),,,//第五步,循环删除文件描述符   ,{   关闭才能(我);   ,}   ,而(1)   ,{   如果才能((=fd 开放(“daemon.log", O_CREAT | O_RDWR | O_APPEND, 0667)) & lt; 0)   ,{大敌;   ,,perror (“fail 用open");   ,,退出(1);   ,,}   写才能(fd,但strlen (buf));   关闭才能(fd);   睡眠才能(2);   ,}   ,return  0;   李}

编写守护进程