使用 sudo 运行部分命令

使用 sudo 运行部分命令

我想在我的 Ubuntu PC 上创建一个键绑定 ++。它应该打开,Ctrl但我希望它具有最高优先级。我使用此命令。AltDeletehtop

xterm -fullscreen -fa 'Monospace' -fs 13 -e htop

它运行良好,但是当我添加优先级时,它需要 root 权限

$ nice -n -20 xterm -fullscreen -fa 'Monospace' -fs 13 -e htop
nice: cannot set niceness: Permission denied

当我使用 时sudo,它可以工作,但它会以 root 身份运行整个命令。我怎样才能只nice使用运行sudo?如果它不要求输入密码,那就太理想了。

答案1

你可以在现有的 PID 上使用 nicerenice

因此像往常一样启动终端

$ sudo renice -n -20 -p HTOP_PID

如果您为此使用不同的 shell/windows,您可以找到 pid,ps -A | grep htop有多种方法可以通过编程从输出中提取 PID,从而允许脚本处理这个问题。

否则,您可以按照评论中的建议执行

sudo nice -n -20 su USER htop而不是直接htop

相关内容