4

特定の外部プロセスのすべてのスレッドに SCHED_RR (および優先度) を設定したいと思います。

シェルと別のケースからそれを行うための最良の方法は何でしょうか-子として作成するときに別のプロセスからプログラムで実行します。ありがとう!

私はシェルスクリプトが苦手で、プロセスのすべてのスレッドに対して「chrt」を実行する方法がわかりません。念のため、スレッドの名前は異なります。

4

2 に答える 2

0

これを試して、udevd の優先度を上げる:

プロセスのすべてのスレッドの優先度を表示する

$ for p in $(pidof udevd); chrt -p $p; を実行します。終わり

サンプル出力

pid 1249 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 1249 の現在のスケジューリング優先度: 0

pid 1248 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 1248 の現在のスケジューリング優先度: 0

pid 788 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 788 の現在のスケジューリング優先度: 0

プロセスのすべてのスレッドの優先度を上げる

$ for p in $(pidof udevd); chrt -p 45 $p; を実行します。終わり

出力例:

pid 1249 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 1249 の現在のスケジューリング優先度: 0

pid 1249 の新しいスケジューリング ポリシー: SCHED_RR

pid 1249 の新しいスケジューリング優先度: 45

pid 1248 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 1248 の現在のスケジューリング優先度: 0

pid 1248 の新しいスケジューリング ポリシー: SCHED_RR

pid 1248 の新しいスケジューリング優先度: 45

pid 788 の現在のスケジューリング ポリシー: SCHED_OTHER

pid 788 の現在のスケジューリング優先度: 0

pid 788 の新しいスケジューリング ポリシー: SCHED_RR

pid 788 の新しいスケジューリング優先度: 45

于 2013-10-15T16:10:09.580 に答える