社区
Linux/Unix社区
帖子详情
如何让子进程在父进程结束时(任意情况)也自动结束?
candc
2004-04-13 08:08:09
另外,我只知道该进程的名字,我怎么在另一个程序开始运行时知道之前所述进程是否在运行?目前知道的办法是:ps,然后查找。谁有高见?多谢!
...全文
744
7
打赏
收藏
如何让子进程在父进程结束时(任意情况)也自动结束?
另外,我只知道该进程的名字,我怎么在另一个程序开始运行时知道之前所述进程是否在运行?目前知道的办法是:ps,然后查找。谁有高见?多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
firstyi
2004-04-14
打赏
举报
回复
mark
hiphop
2004-04-14
打赏
举报
回复
9 给定一个进程号,我怎样知道它是个正在运行的程序?
=====================================================
使用‘kill()’函数,而已0作为信号代码(signal number)。
从这个函数返回有四种可能的结果:
* ‘kill()’返回0
- 这意味着一个给定此进程号的进程退出,系统允许你向它发送信号。该进
程是否可以是僵死进程与不同系统有关。
* ‘kill()’返回-1,‘errno == ESRCH’
- 要么不存在给定进程号的进程,要么增强的安全机制导致系统否认它的存
在。(在一些系统上,这个进程有可能是僵死进程。)
* ‘kill()’返回-1,‘errno == EPERM’
- 系统不允许你杀死(kill)这个特定进程。这意味着要么进程存在(它又可能是
僵死进程),要么严格的增强安全机制起作用(比如你的进程不允许发送信号
给*任何人*)。
* ‘kill()’返回-1,伴以其它‘errno’值
- 你有麻烦了!
用的最多的技巧是认为调用“成功”或伴以‘EPERM’的“失败”意味着进程存
在,而其它错误意味着它不存在。
如果你特别为提供‘/proc’文件系统的系统(或所有类似系统)写程序,一个替换
方法存在:检查‘proc/进程号’是否存在是可行的。
longenic
2004-04-14
打赏
举报
回复
waitpid 是只针对子进程而言,
我想可以用信号实现, 但这个信号要自己定义,像用UNIX信号里面的处定义信号,SIGUSR,或SIGSUR2 ,当父进程退出的时候就发出自定义的信号,
如果是父进程非正常退出, 它也会发出一个SIGTERM的信号, 进行相应的处理就可以了
candc
2004-04-14
打赏
举报
回复
对,我想做到的就是想让子进程知道父进程的退出,这有可能是异常错误导致的。不过,我想楼上说的waitpid还真的可以考虑,谢谢!另外,什么叫异步使用啊?
leonf
2004-04-13
打赏
举报
回复
对了是任何情况退出啊,呵呵,不好意思没看清楚。
在子进程里面异步使用waitpid()实现监控父进程。
leonf
2004-04-13
打赏
举报
回复
父进程总有子进程的ID吧,发一个signal给子进程让他退出就好了。
truebjhz
2004-04-13
打赏
举报
回复
可以用进程间同步和通信的机制实现啊。
比如,子进程运行的过程中监视一个event,父进程结束时先置一下这个event,
子进程检测到后就退出。
当然你要说父进程出现了CORE之类的非法操作,那就难说了,这时应该想办法解决父进程的问题。
event是windows上的叫法,在linux上我不知道叫什么,但是方法应该是一样的。
企业运维
自动
化实战
企业运维
自动
化实战视频教程,本期我们邀请荣之联和当当、新浪微博、灵雀云的技术讲师为我们分享他们在运维
自动
化方面的实战经验。内容涉及微博运维数据平台弹性集群资源管理及容器化实践、身份管理运维
自动
化系统...
回收
子
进程
孤儿
进程
:
父
进程
先于
子
进程
结束
,则
子
进程
成为孤儿
进程
。
子
进程
的
父
进程
变成init
进程
。init-->1号
进程
,被称为
进程
孤儿院。【孤儿
进程
是没有危害的】 init
进程
会循环的wait()它的已经退出的
子
进程
。这样,当...
子
进程
及
时
知道
父
进程
已经退出的最简单方案
[精彩]
子
进程
及
时
知道
父
进程
已经退出的最简单方案?http://www.chinaunix.net 作者:yuonunix 发表于:2003-10-31 10:14:14【发表评论】 【查看原文】 【C/C++讨论区】【关闭】 要
父
进程
知道
子
...
Linux
父
进程
子
进程
回收,5、
子
进程
回收(wait和waitpid)
一个
进程
在终止
时
会关闭所有文件描述符,释放在用户空间分配的内存,但它的PCB还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是...查看,因为Shell是它的
父
进程
,当它终止
时
Shell调用wa...
进程
创建,
父
子
进程
,
进程
回收,
进程
结束
(一)
进程
的创建-fork 头文件 #include <unistd.h> pid_t fork(void); a)用来创建一个新的
进程
,调用成功后,将存在两个
进程
,每个
进程
都从fork()的返回...b)fork() 调用成功后,在
父
进程
中返回
子
进程
的 ...
Linux/Unix社区
23,126
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章