奇怪的是,我找不到有关如何为程序(而不是为用户或组)设置默认 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)
无论您是否升级,这都应该有效。