将进程调度策略更改为IDLE的正确方法是什么?

在运行Ubuntu Server 9.10的服务器上,我有一个长时间运行的进程。 我想使用chrt命令使其在SCHED_IDLE策略下运行。 但是,在阅读手册页之后,我无法理解正确的方式来为正在运行的进程发出命令。

我试过了不成功的:

 # chrt -i -p 688 pid 688's current scheduling policy: SCHED_OTHER pid 688's current scheduling priority: 0 # chrt -p -i 688 pid 688's current scheduling policy: SCHED_OTHER pid 688's current scheduling priority: 0 # chrt -p 688 -i chrt: failed to set pid 0's policy: Invalid argument 

我会继续尝试,但你知道怎么做我想要的吗?

哇。 在检查完Web的例子之后,我在ibm.com上find了这个页面 ,它举例说明了如何将正在运行的进程的调度策略设置为SCHED_FIFO:

 # chrt -p -f 35 13826 

35显然,这是SCHED_FIFO政策中的优先事项。 所以我只是试图使用一个虚拟0优先级:

 # chrt -p -i 0 688 # chrt -p 688 pid 688's current scheduling policy: SCHED_IDLE pid 688's current scheduling priority: 0 

并获得成功。