web-dev-qa-db-ja.com

Linux上のプログラムのデフォルトのNice値を設定する

奇妙なことに、プログラムのデフォルトのNice値を設定する方法についての情報が見つかりません(ユーザーやグループではありません!)。すべてのchromeおよびfirefoxインスタンスをNice値10で開始したいと思います。最も適切な解決策は何ですか?

5
helcim

/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`
3
webb

少し回避する必要があります。

まず、Firefoxバイナリのフルパスを取得します。

which firefox
/usr/bin/firefox

次に、これをたとえばfirefox-originalに移動します。

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

次に、元のFirefoxバイナリの代わりに呼び出される/usr/bin/firefoxという小さなハンドラスクリプトを作成します。

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

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

最後に、スクリプトを実行可能にします。

chmod 755 /usr/bin/firefox

これで、Firefoxが起動するたびに、そのスクリプトは、Nice値が10のバイナリを実行します。$@は、スクリプトのすべての引数をバイナリに渡すことを意味します。

3
chaos