社区
Linux/Unix社区
帖子详情
如何启动一个守护进程。
legone2008
2008-10-09 06:43:47
环境:RHEL as4 + oracle 9i + C语言
我有多个服务进程是常驻进程(比如说进程名叫:SRV1,SRV2,SRV3),其父进程id是1,此进程不能作业孙进程启动。
现在我想用C写程序来启动SRV1,SRV2,SRV3,请高手帮忙实现下。
注:不能用system系统调用
我想用execl家族实现,
...全文
323
7
打赏
收藏
如何启动一个守护进程。
环境:RHEL as4 + oracle 9i + C语言 我有多个服务进程是常驻进程(比如说进程名叫:SRV1,SRV2,SRV3),其父进程id是1,此进程不能作业孙进程启动。 现在我想用C写程序来启动SRV1,SRV2,SRV3,请高手帮忙实现下。 注:不能用system系统调用 我想用execl家族实现,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
legone2008
2008-10-10
打赏
举报
回复
是这样的,我的SRV进程都有一套检测机制,就是检测进程是否已经启动,SRV启动时会检查在系统进程中是否有该进程id,并且它的父进程ID是1,如果检测到,说明该进程已经启动,则再次启动失败。
我用fork来启动子进程,在子进程中用调用execl来启动SRV,我看了一下,当execl启动一个新的进程替换原来的子进程后,新进程的父进程id就变成1了,如此在SRV启动时就会检测到进程已经启动(execl启动的进程ID存在,并且父进程为1)。
所以fork+execl实现失败。
不知道我表述清楚没有?
请问一下,不用fork,直接用exec如何实现?我要求的exec每次只能启动一个进程。
richboy
2008-10-10
打赏
举报
回复
不就是要检测进程是否已经启动了吗?
有很多种其它的方法来做到啊,
1) 用共享内存来维护一个变量
2) 读写文件
3) 消息机制
...
wlabing
2008-10-10
打赏
举报
回复
调用exe函数可完成,调不调用fork看你的需要了.
iasky
2008-10-09
打赏
举报
回复
fork一个子进程,然后父进程结束。
xxgamexx
2008-10-09
打赏
举报
回复
它是要启动进程吧
楼上的回答是不是偏题了?
playmud
2008-10-09
打赏
举报
回复
man daemon
man fork
littlefirebug
2008-10-09
打赏
举报
回复
先fork3个进程出来,每个进程调用exec,在杀死主进程。
这时候这三个进程就是父进程id=1的进程了
此进程不能作业孙进程启动 这句话什么意思?
android双进程守护,进程很难被杀死demo
android双进程守护,进程很难被杀死
Android 通过JNI实现双
守护进程
,保证服务不被杀死 源码
对应博文链接:... 杀不死的服务一直是一件很头疼的问题,这边给出源码:Android 通过JNI实现双
守护进程
,保证服务不被杀死。完美运行在谷歌原生Android5.0系统
《Linux系统编程、网络编程》第5章 进程控制
课程内容: 进程与程序、进程PID与三个特殊进程、fork函数的作用、父子进程对文件的共享、execve加载函数、system函数、进程的资源回收、wait函数、进程状态、java进程、进程关系、
守护进程
,return/exit/_exit、...
守护进程
的详解与创建
守护进程
守护进程
是一种后台运行并且独立于所有终端控制之外的进程。 为什么需要有独立于终端之外的进程呢?首先,处于安全性的考虑我们不希望这些进程在执行中的信息在任何
一个
终端上显示。...要
启动
一个
守护进程
,
守护进程
(daemon)
守护进程
也可以从终端
启动
,这样
守护进程
必须亲自脱离与控制终端的关联,避免与作业控制终端会话管理、终端产生信号等发送任何不期望的交互,也可以避免在后台运行的
守护进程
非预期地输出到终端。
守护进程
启动
方法...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章