通常使用ptrace(PTRACE_TRACEME, 0, 0, 0)
来阻止程序被调试,
但是一旦应用PTRACE_TRACEME,程序将无法正常退出,而是接收SIGSTOP信号,
那么如何让程序正常退出呢? exit(0)
无法在此处使用
答案 0 :(得分:0)
来自http://man7.org/linux/man-pages/man2/ptrace.2.html
PTRACE_TRACEME
Indicate that this process is to be traced by its parent. A
process probably shouldn't make this request if its parent
isn't expecting to trace it.
通常使用
ptrace(PTRACE_TRACEME, 0, 0, 0)
来阻止程序被调试,
任何此类"普通"使用已损坏,除非父进程即将跟踪此进程。
你已经承诺(对内核)"我即将开始追踪这个过程"。内核尽职尽责等待你实现这一承诺。
那么如何让程序正常退出呢?
让父母跟踪它(带有所有暗示)。