栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

五步创建精灵进程

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

五步创建精灵进程

五步创建精灵进程
      • 1.精灵进程
      • 2.创建步骤
        • 1)消除文件默认权限掩码的影响
        • 2) 创建子进程,并让父进程退出
        • 3) 调用setsid创建一个会话,让子进程成为守护进程
        • 4) 将当前工作目录更改为根目录
          • 5)在循环中放置自己的业务逻辑代码
      • 3.完整代码

1.精灵进程

精灵进程是运行在后台的进程,它的父进程是1号进程Init;

2.创建步骤 1)消除文件默认权限掩码的影响
umask(0);
2) 创建子进程,并让父进程退出
pid_t pid = fork();
if(pid < 0)
{	
	exit(-1);
}
else if(pid > 0)
{
	exit(0);
}
3) 调用setsid创建一个会话,让子进程成为守护进程
setsid();
4) 将当前工作目录更改为根目录
chdir("/");
5)在循环中放置自己的业务逻辑代码
while(1)
{
	//业务逻辑代码
}
3.完整代码
//精灵进程的创建
void myDaemon_Init()
{
        //1.消除文件默认权限掩码的影响
        umask(0);

        //2.创建进程,让父进程退出,保证守护进程不是进程组长
        if(fork() != 0)
        {   
                exit(0);
        }   

        //3.调用setsid创建一个会话,让子进程成为守护进程;
        //      setsid会导致:
        //      1).调用进程成为新会话的首进程
        //      2).调用进程成为一个进程组的组长进程
        //      3).调用进程没有控制终端
        setsid();

        //4.将当前工作目录更改为根目录
        chdir("/");
        
		//5.在循环中放置自己的业务逻辑代码
		while(1)
		{
			//业务逻辑处理代码
		}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号