特定の外部プロセスのすべてのスレッドに SCHED_RR (および優先度) を設定したいと思います。
シェルと別のケースからそれを行うための最良の方法は何でしょうか-子として作成するときに別のプロセスからプログラムで実行します。ありがとう!
私はシェルスクリプトが苦手で、プロセスのすべてのスレッドに対して「chrt」を実行する方法がわかりません。念のため、スレッドの名前は異なります。
特定の外部プロセスのすべてのスレッドに SCHED_RR (および優先度) を設定したいと思います。
シェルと別のケースからそれを行うための最良の方法は何でしょうか-子として作成するときに別のプロセスからプログラムで実行します。ありがとう!
私はシェルスクリプトが苦手で、プロセスのすべてのスレッドに対して「chrt」を実行する方法がわかりません。念のため、スレッドの名前は異なります。
これを試して、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