微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查无关进程的退出代码

如何解决检查无关进程的退出代码

我想使用在 linux 上运行的 C 代码检查前台进程的退出代码。据我了解,wait()waitpid() 对子进程很有用,但就我而言,它是一个外部进程。我能够在该进程处于活动状态时从 /proc//stat 读取信息,但是随着进程关闭,从 /proc// 读取变得有问题,我没有找到任何与此相关的信息退出代码

我尝试过的其他事情:

popen() 一些 bash 命令。 echo $? 始终返回 0,即使感兴趣的进程退出显示错误代码也是如此。我不确定它是否针对感兴趣的过程。我尝试调用的另一个 bash 命令是 wait <pid>,但该命令立即返回,而进程仍在运行。

解决方法

如果您有权访问前台进程的代码,则可以通过消息队列甚至套接字(例如 udp 多播)发送消息 - 这将使解决方案更通用(您的 c 程序可以在不同的机)。

另一种选择是使用日志服务(系统日志或类似的东西)。它有一些 使进程能够记录其退出代码的有用接口。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。