留言与评论(共有 0 条评论) |
发布时间:2020-04-12 09:02:58
所以,有时候对进程进行实时监控,当发现进程挂掉时,立刻重新启动进程,也是一种可以救急的方式(当然这个只是一种临时救急,并不是根本解决方法)。实现方式:使用fork()创建子进程,子进程用于执行具体功能,主进程只是用于监控子进程,当主进程检测到子进程挂掉后,可以实现立即重新启动子进程。子进程结束,系统会向主进程发送信号:SIGCHLD,主进程可以通过捕捉该信号,从而检测子进程已经不存在,进而继续下一步操作。如果需要,主进程还可以获得子进程是为何退出的。源代码例子:#include#include#include#include#include#include#includevoid process_exit(int s){exit(0);}void child_fun(){printf("child_fun. ppid %dn
留言与评论(共有 0 条评论) |
全站搜索