有没有什么方法可以让用户在不授予 root 权限的情况下修改进程的优劣?
操作系统:Ubuntu 14.04.1 LTS
答案1
由于允许sudo nice
与授予 root 权限几乎相同,因此我不会考虑这样做。
我看到两种可能的解决方案:
1/ 通过 sudo 允许完整命令并固定其参数,例如:
%nicegroup ALL=/bin/nice --20 /bin/whatever
但这只有当需要改善的程序始终是同一个程序时才有效。
2/ 仅renice
通过 sudo 允许,如下所示:
%nicegroup ALL=/bin/renice
然后,用户需要像往常一样启动他们的程序,然后通过 手动调整优先级sudo /bin/renice 20 -p $PID
。
这是手动操作,但可以编写脚本来实现自动化。
答案2
没有。nice
是那些将在其自身上下文中运行给定进程的命令之一 - 也就是说,如果您允许sudo nice
,传递给 的任何命令都nice
将以 root 身份执行。 可能可以使用/etc/limits.conf
和使用很好的限制,并以这种方式运行您想要更高/更低优先级的脚本,但它对 没有任何帮助renice
。