nat*_*ose 15
调用ptrace(PTRACE_ATTACH, pid, x, y)其中pid是B的PID(在你的例子),x和y并不重要(可能将它们设置为NULL)将调用进程B的父许多(但不是全部)的目的(有限制基于用户当然,这些进程的ID是为了防止你接管别人的进程,除非你是root用户.
在调用之后ptrace(PTRACE_ATTACH,,子getppid()进程仍将获得其原始父进程或init的pid作为其父进程,但是跟踪进程将能够从进程B 调用wait并获取SIGCHLD.
这里有很多东西,所以你应该阅读man 2 ptrace并确保你很好地理解细节.