为 Linux 上的程序设置默认 nice 值

为 Linux 上的程序设置默认 nice 值

奇怪的是,我找不到有关如何为程序(而不是为用户或组)设置默认 nice 值的信息。我想以 10 的 nice 值启动所有 chrome 和 Firefox 实例。最合适的解决方案是什么?

答案1

/usr/bin为什么不使用呢~/.local/bin?这样,每次更新都会弄乱并受到干扰。

## one-time setup
mkdir -p ~/.local/bin
# prepend new path to PATH to give it priority
echo 'PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
# then open new terminal or
source ~/.bashrc

## create a wrapper script
# $@ is there to passthrough args.
echo 'nice -10' `which firefox` '$@' > ~/.local/bin/firefox
# make it executable
chmod +x ~/.local/bin/firefox

# check sanity
which firefox
cat `which firefox`

答案2

您必须稍微做点工作。

首先获取二进制文件的完整路径firefox

which firefox
/usr/bin/firefox

现在,将其移动到例如firefox-original

mv /usr/bin/firefox /usr/bin/firefox-original

现在,创建一个名为的小型处理程序脚本/usr/bin/firefox,它将代替原始的 Firefox 二进制文件被调用:

cat /usr/bin/firefox
#!/bin/bash

exec nice -n 10 /usr/bin/firefox-original "$@"

最后使脚本可执行:

chmod 755 /usr/bin/firefox

现在,每次启动 Firefox 时,该脚本都会使用 nice 值 10 执行二进制文件。这$@只是意味着将脚本的所有参数传递给二进制文件。

答案3

创建一个键盘快捷键来执行以下命令:

nohup firefox & renice +15 $(pgrep firefox)

无论您是否升级,这都应该有效。

相关内容