授予使用 FIFO 运行进程的权限

授予使用 FIFO 运行进程的权限

我正在尝试运行一个将其自己的调度程序策略设置为 的程序sched_FIFO,但它错误地显示不允许操作。如果我运行它,sudo那么它会成功,但我想将其拥有的权限减少到仅需要的权限。
我怎样才能让普通用户能够运行这个需要权限设置的程序sched_FIFO

答案1

man capabilities表明对于系统调用之类的sched_setscheduler() 进程需要这种CAP_SYS_NICE能力。将程序编译成文件后,myprogram您可以使用以下命令设置此功能:

sudo setcap CAP_SYS_NICE+ep myprogram

然后无需 root 即可运行它。

相关内容