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)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。