为什么在C中发送kill系统调用不需要root访问权限或sudoer权限?我试图使用kill系统调用终止C中的进程。我虽然要求我以root身份运行进程,但事实并非如此。通常在通过bash终端发送kill系统调用时,我们需要使用sudo,那么使用C时为什么不需要?
答案 0 :(得分:0)
如果您在命令行上调用程序kill
并且您没有所需的权限,那么它将失败。使用C程序中的kill()
时会发生同样的情况。有关信息,请参阅man页面。
具体而言,如果用户无权发送到列出的任何流程ID,则会返回有关返回值EPERM
的部分。和描述:
对于有权向pid指定的进程发送信号的进程,除非发送进程具有适当的权限,否则发送进程的实际或有效用户ID应与实际或保存的set-user-ID匹配。接收过程。