2012-12-11 42 views
3

我想在特定外部进程的所有线程上设置SCHED_RR(和优先级)。提高进程(linux)chrt的所有线程的优先级/调度策略?

什么是最好的方式,从shell 和另一个案例 - 从另一个过程编程时,它创建它作为一个孩子。 谢谢!

我吮吸shell脚本,不知道如何为进程的所有线程运行“chrt”,以防万一,线程有不同的名称。

回答

0

试试这个,上涨udevd会的优先级:一个进程的所有线程的

显示优先

$为$ P(的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

上升一个进程的所有线程的优先级

$为$ p中(的pidof的udevd); do 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

+0

这不处理进程中的线程。你可以尝试这样的: pid in $(ps -m -o tid --pid $(pidof udevd)| tail -n +3); do chrt -p -r 20 $ pid;完成 – sruffell

+0

@sruffell谢谢。 – user1284631