例如,在wait
/waitpid
年度的理由中,有The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition个国家:
[.]WUNTRACED标志仅与作业(job)控制一起使用
支持作业(job)控制的系统.它的名字来自4.3 BSD,并引用
其中有两种类型的已停止进程
实施:processes being traced via the ptrace()次调试
设施and(未追踪)processes stopped by job control signals.[.]
遗憾的是,规范没有提供ptrace
呼叫:
由于ptrace()不是这一卷IEEE标准1003.1-2001年的一部分[...]
我对此的理解是,wait
/waitpid
提供了这种可能的功能,其实现留给了操作系统设计人员.
例如,这个答案可能会帮助您理解Linux内核中使用的是什么"诀窍":How does ptrace work in Linux?.
因此,可以从附属进程向wait
/waitpid
通知状态事件,但是那些相同的进程具有保留的父子关系.
Linux ptrace
手册页上写着:
PTRACE_ATTACH
个
附加到在PID中指定的进程,使其成为Tracee
调用进程的.Tracee收到了SIGSTOP
分,但
不一定会因为完成
此调用;使用waitpid(2)
等待Tracee停止.
请参阅"连接和拆卸"小节,了解
其他信息.