如何查询进程状态,进程异常退出时会有什么信号发出?如何捕获?
遇到的问题是这样的,在正常情况下,进程A持续通过消息队列向进程B发送消息,而当进程B异常退出时,进程A并不知道.如何才能让进程A知道B已经退出,如果在程序中用"ps"来进行每次发送消息之前都查看B的状态的话,效率将非常慢.因为"ps"命令每次执行都相当于打开一个文件描述符.我想知道:1.如何设计一个高效的查看某个进程存活状态的算法,或者有没有一个系统调用来实现这种功能?
2.如果不能查看状态,能否在进程B异常退出时捕获一个系统信号,调用我自己的信号处理函数?
希望大家给予帮助!谢谢.