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)
时间: 2024-11-03 20:48:45