杀死系统调用C,权限

时间:2018-04-24 06:18:46

标签: c unix system-calls

为什么在C中发送kill系统调用不需要root访问权限或sudoer权限?我试图使用kill系统调用终止C中的进程。我虽然要求我以root身份运行进程,但事实并非如此。通常在通过bash终端发送kill系统调用时,我们需要使用sudo,那么使用C时为什么不需要?

1 个答案:

答案 0 :(得分:0)

如果您在命令行上调用程序kill并且您没有所需的权限,那么它将失败。使用C程序中的kill()时会发生同样的情况。有关信息,请参阅man页面。

具体而言,如果用户无权发送到列出的任何流程ID,则会返回有关返回值EPERM的部分。和描述:

  

对于有权向pid指定的进程发送信号的进程,除非发送进程具有适当的权限,否则发送进程的实际或有效用户ID应与实际或保存的set-user-ID匹配。接收过程。