Как это ни странно, я не могу найти информацию, как установить значение nice по умолчанию для программы (не для пользователя или группы!). Я хотел бы начать все экземпляры chrome и firefox с хорошим значением 10. Какое решение было бы наиболее подходящим?
Придется немного поработать.
Сначала получите полный путь к двоичному файлу 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, этот скрипт выполняет двоичный файл с хорошим значением 10. $@
просто означает передать все аргументы скрипта двоичному файлу.
Вместо того, чтобы испортить вам /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`
Создайте ярлык клавиатуры, который будет выполнять следующую команду:
nohup firefox & renice +15 $(pgrep firefox)
Это должно работать независимо от того, обновляете ли вы.