利用 下载的这段代码,成功实现了守护进程,原来守护进程是很简单的事情。
在main函数中执行
init_daemon();//初始化为Daemon
就可以把进程变成守护进程
#include
#include
#include
#include
#include
void init_daemon(void )
{
int pid;
int i;
if (pid=fork())
exit (0);//是父进程,结束父进程
else if (pid< 0)
exit (1);//fork失败,退出
//是第一子进程,后台继续执行
setsid();//第一子进程成为新的会话组长和进程组长
//并与控制终端分离
if (pid=fork())
exit (0);//是第一子进程,结束第一子进程
else if (pid< 0)
exit (1);//fork失败,退出
//是第二子进程,继续
//第二子进程不再是会话组长
for (i=0;i< NOFILE;++i)//关闭打开的文件描述符
close (i);
chdir("/tmp" );//改变 工作目录到/tmp
umask(0);//重设文件创建掩模
return ;
}
C语言编写linux下的守护进程
最新推荐文章于 2022-11-21 11:48:43 发布