Linux - 处理进程终止

时间:2016-06-12 05:42:04

标签: linux unix

我需要在Linux中查看具有已知PID的进程。一旦终止,就要执行一个有终止原因的命令。

问题

  1. 如何订阅流程健康而不是投票(例如,观看 命令)?
  2. 在OS中注入事件处理程序的位置'用户空间?
  3. 如何检测处理程序内的终止/失败原因?
  4. 注意

    • 我打算保留一个标签的过程不是作为某个父级的子进程分叉的,可以监视它。
    • 流程类型是通用的(很多都是守护进程)

1 个答案:

答案 0 :(得分:3)

对另一个进程进行这种控制的唯一方法是使用ptrace(2)跟踪目标进程。您可以使用ptrace(PTRACE_ATTACH, pid)附加到进程,之后您有效地成为目标进程的父进程(并且可以使用wait或更多ptrace次调用来确定进程正在执行的操作)。