gpt4 book ai didi

c - 为什么 `sched_setscheduler()`需要root权限?

转载 作者:IT王子 更新时间:2023-10-29 01:00:42 24 4
gpt4 key购买 nike

为什么 sched_setscheduler() 需要根权限?

我正在编写一些受益于设置 SCHED_FIFO 的代码。但是如果我使用 sched_setscheduler() 我现在必须要求这个进程以 root 身份运行。为什么不允许 sched_setscheduler() 在没有 root 权限的情况下运行?

最佳答案

大概是因为使用实时调度程序的进程可以完全接管一台机器,而不会将 CPU 交给其他进程——这是普通用户不应该有的权力。

虽然 Linux 允许您执行比以 root 运行更细粒度的控制,但您可以设置 CAP_SYS_NICE capability在您的可执行文件上(以 root 用户身份执行一次),使用以下命令:

 setcap cap_sys_nice+ep ./your_program  

这将允许您的可执行文件使用 sched_setscheduler,即使它不是以 root 用户身份运行。

关于c - 为什么 `sched_setscheduler()`需要root权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27694250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com