赋予非 root 用户进程能力以改变其友好性

Posted

技术标签:

【中文标题】赋予非 root 用户进程能力以改变其友好性【英文标题】:Giving a non-root user process capabilities to change its niceness 【发布时间】:2015-12-22 06:17:12 【问题描述】:

我有一个基于 Linux 的进程(用 C++ 编写,如果有什么不同的话),我从非 root 用户运行。

在某些时候,我必须运行一个新的子流程,该子流程应该能够将其 niceness 级别更改为较低的数字(而不改变原始流程的 niceness)。

我想在不以 root 身份实际运行这两个处理中的任何一个的情况下执行此操作。

谁能帮我弄清楚我该怎么做?我试过弄乱limits.conf,但到目前为止我还没有成功。

谢谢

【问题讨论】:

【参考方案1】:

简而言之,这是不可能的。

只有超级用户可以降低优先级。

来自nice(2)getpriority(2)的手册

如果非特权用户可以提高他们的进程的优先级,那就会被滥用。

【讨论】:

以上是关于赋予非 root 用户进程能力以改变其友好性的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch 重启

运行 root 仅执行具有非 root id 的进程

动态高优先权优先调度算法

Linux 权能综述

linux kill命令详解

Liunx 中kill命令详解