You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下调用PTRACE_TRACEME出现“Operation not permitted”错误的排查求助

Ubuntu 22.04下调用PTRACE_TRACEME出现“Operation not permitted”错误的排查求助

大家好,我最近在Ubuntu 22.04上尝试用PTRACE_TRACEME追踪子进程,写的代码片段如下:

if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) == -1) {
    perror("ptrace_traceme");
    exit(EXIT_FAILURE);
}

但运行程序时一直抛出错误:

ptrace_traceme: Operation not permitted

我查了相关资料,知道这类错误大概率是系统安全限制导致的,所以已经做了这些排查尝试:

  • 将内核参数kernel.yama.ptrace_scope从默认的1修改为0
  • 确认SELinux已经关闭
  • 切换到root权限运行程序,但问题依然没有解决

现在我开始怀疑问题可能和安全特性无关了。另外我注意到strace似乎能绕过这个限制,看到有人用strace -f ./program_name的方式运行程序,但我没搞清楚具体原理,也不确定怎么把这个思路应用到自己的代码里。

有没有大佬能帮我分析下问题出在哪,或者给点解决方向呀?谢谢大家!

备注:内容来源于stack exchange,提问作者Aviel15

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:57:57