码迷,mamicode.com
首页 > 系统相关 > 详细

linux应用开发-守护进程

时间:2015-05-14 14:19:39      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:linux   内核   

linux应用开发-守护进程
linux应用开发-守护进程
一 守护进程
默认的后台运行的进程
技术分享
二 与安卓的服务相关联
技术分享
三 守护进程编写
技术分享
技术分享
1 脱离控制终端tty,让父进程为init

2 禁止进程重新打开控制终端

3 重新开启会话setsid();

4 关闭打开的文件描述符,进程从创建它的父进程哪里继承了打开的文件描述符

,若不关闭,将会造成资源浪费,造成进程所在的文件系统无法卸下以及引起无法预料的错误

可以使用for循环关闭
for (i = 0 ; i < 文件描述符的个数; i++)
{
    close(i);
}

5 改变当前工作目录
进程活动是,其工作目录所在的文件系统不能写下,一般需要将工作目录改变到根目录
chdir()

6 重新设置umask(0)
进程从创建他的父进程哪里继续了文件创建掩码,它可能修改守护进程所创建的文件的村趣味

7  修改rc文件或者inittab文件,可以开机自动启动
8 结果
技术分享
四 杀死守护进程
kill PID(有权限)

五 守护进程的支持

1 核心服务通常在独立的进程里执行

2 必须让应用程序可以进程跨进程的通信

3 因为共享,所以必须确保多线程安全

4 生命周期管理(SM)

linux应用开发-守护进程

标签:linux   内核   

原文地址:http://blog.csdn.net/qq_22075977/article/details/45719375

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!