我想在特定外部进程的所有线程上设置SCHED_RR(和优先级)。
从shell和另一个案例中做到这一点的最佳方式是什么 - 从另一个进程以编程方式创建它作为子进程时。谢谢!
我吮吸shell脚本,并且不知道如何为进程的所有线程运行“chart”,以防万一,线程有不同的名称。
您还可以使用-a参数。
chrt -p -r -a ${mainpid}
请注意,这不会更改在运行chrt之后将来启动的线程的优先级。
试试这个,提升udevd的优先级:
显示进程所有线程的优先级
$ for p in $(pidof udevd);做chrt -p $ p; DONE
样本输出
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; DONE
样本输出:
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