c - 从调用自身的 ptrace 分离

标签 c linux

在 Linux 上,检查程序是否在调试器中的一种简单方法是检查 if(ptrace(PTRACE_TRACEME, 0, 0, 0) == -1)。在此之后我该如何分离? ptrace(PTRACE_DETACH, 0, 0, 0) 不起作用(返回 -1)。

最佳答案

只有“父”(调试器)可以从被跟踪的子进程中分离出来; child 不可能让自己脱离。 man ptrace :

       PTRACE_TRACEME
              Indicate that this process is to be traced by its parent. …

              The PTRACE_TRACEME request is used only by the tracee; the
              remaining requests are used only by the tracer. …

关于c - 从调用自身的 ptrace 分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34041565/

相关文章:

c - 使不同的可执行文件成为一个供所有人使用的库

C 调用 chdir 后损坏的双链表

linux - 无论父文件夹名称如何,查找和排序唯一文件名

c - 如何使用 eof 获取用户输入的整数,直到他按下 Enter?

c - 在 C linux 程序中取消链接多个文件

C的怪异指针运算2

linux - KDE 登录屏幕上预填的用户名存储在哪里

linux - 在服务器端创建一个git存储库

python - 使用 python 脚本在应用程序中执行命令?

C:用常量子结构初始化结构