ptrace(监控进程)
被跟踪进程收到任何信号(除SIGKILL)都会停止,将信号转给跟踪器(触发wait)
PTRACE_SYSCALL:跟踪系统调用,每次系统调用会收到一个SIGTRAP
PTRACE_SINGLESTEP:跟踪单步,每执行完一个指令收到一个SIGTRAP
PTRACE_CONT:继续
断点(int 3 指令)会触发一个SIGTRAP
wait, waitpid, waitid(等待进程状态改变)
1.进程终止(terminated) WIFEXITED/WIFSIGNALED
2.进程被信号停止(stopped by a signal) WIFSTOPPED
3.进程恢复(resumed by a signal) WIFCONTINUED
ptrace拦截信号原理:被跟踪进程收到所有信号(除SIGKILL)会被停止,并触发跟踪器的wait回调

本文深入探讨了ptrace和wait两个系统调用,分别用于进程监控和父进程等待子进程状态变化。通过学习笔记的形式,阐述了它们在程序调试和控制中的应用。
最低0.47元/天 解锁文章
826

被折叠的 条评论
为什么被折叠?



