linux应用开发-守护进程

来源:互联网 发布:powerdvd是什么软件 编辑:程序博客网 时间:2024/05/17 02:59
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)

0 0
原创粉丝点击