CentOS 5で ionice -c3 を一般ユーザーで実行する

More than 5 years have passed since last update.

2.6.25より古いカーネルを採用しているCentOS 5などのディストリビューションでは、一般ユーザーでは ionice -c3 でジョブのIOのscheduling classをidleに設定できない。以下のようなエラーが表示される。

ioprio_set: Operation not permitted

この問題は、/etc/sudoersに設定を追加した上で、 sudo ionice -c3 のようにして実行すれば解決する。


設定

visudo を実行して /etc/sudoers に以下の内容を追加する。以下は amandabackup というユーザーがパスワード無しで sudo ionice -c3 を実行できるようにする例。

Defaults:amandabackup !requiretty

amandabackup ALL=NOPASSWD: /usr/bin/ionice

!requiretty は、ssh経由でコマンドを実行するときなどに必要。以下のようなエラーでsudoがうまくいかない場合に追加する。

sudo: sorry, you must have a tty to run sudo


実行例

sudo /usr/bin/ionice -c3 コマンド