首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么seccomp进程总是被终止?

为什么seccomp进程总是被终止?
EN

Stack Overflow用户
提问于 2012-04-12 06:00:06
回答 1查看 394关注 0票数 3

为什么进入seccomp模式的进程总是在退出时被终止?

代码语言:javascript
复制
$ cat simple.c 
#include <stdio.h>
#include <stdlib.h>
#include <linux/prctl.h>

int main( int argc, char **argv )
{
    printf("Starting\n");
    prctl(PR_SET_SECCOMP, 1);
    printf("Running\n");
    exit(0);
}
$ cc -o simple simple.c
$ ./simple || echo "Returned $?"
Starting
Running
Killed
Returned 137
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-12 06:17:14

在手册页的PR_SET_SECCOMP下,唯一允许的系统调用是read、write、exit和sigreturn。

当您在标准库中调用exit(0)时(在最近的Linux中),您调用的是exit_group系统调用,而不是exit。这是不允许的,所以你会得到一个SIGKILL。

(如果您停止该过程,您可以看到这一点...)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10114583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档