私は非常に大きなカーネルコンパイルを実行しており、少なくともより多くのCPU時間を確保するためにフルrenice
プロセスを実行したいと思います。-1
現在、コンピュータで他のタスクが実行されていません。
コンパイルはすでに実行中なので、停止したくありません。とにかくrenice
すべて動作していますかspawned
?私は試した:
renice -n -10 -p [the make process]
しかし、出てくるすべてはまだpriority 0
。
答え1
これpstree
ツールはすでにプロセスツリーを表示できます。 「生」出力モードがないため、いくつかの出力解析が必要です。
ライブ状態であり(時間の計算、一部のプロセスが表示または消えます)、解析エラーが発生する可能性があります(たとえば、子プロセスが名前を変更してpstreeの出力を模倣するために数字と括弧を使用している場合など)。完全な信頼性が要求されない限り、次のようにします。
MAKE_PID=[the make process]
renice -n -10 -p $(pstree -p $MAKE_PID | grep -o '([1-9][0-9]*)'|tr -d '()')
つまり、各プロセスのpidを含むツリーを表示し、pid値のみを保持します。つまり、角かっこの間の数字を削除し、結果を renice に提供します。