web-dev-qa-db-ja.com

Renice:すべてのスレッドを変更するにはどうすればよいですか?

Ubuntu10.04でマルチスレッドプロセスをreniceし、結果をtopで表示すると、実際にはメインスレッドのみがリニックされているようです。他のすべてのスレッドは、古いニース値を保持します。メインスレッドだけでなく、プロセス内のすべてのスレッドを削除する最も簡単な方法は何ですか?

10
dsimcha
renice +/-n -g gid

ここで、gidは、ps -Ajで見つけることができるプロセスグループIDです。

9
Red Tux

Zhihuiの答えに触発されて、私が実際に使用したもの:

renice -n <niceness> -p `ps --no-heading -Lo tid <PID>`
2
lvella

次のコマンドは、プロセス「procid」内のすべてのスレッドに対して、Nice値を+15に設定できます。

ps --no-heading -Lj <procid> | awk '{system("renice +15 "$4)}'
1
zhihui