如何通过Ruby更改进程的优先级

Chr*_*ley 4 ruby

当我执行Ruby进程时,如何让该进程降低其优先级?我查看了Process.setpriority的文档,但我还是没有得到它.有没有人有一个Ruby进程如何降低自己优先级的例子?

克里斯

car*_*son 12

setpriority(和getpriority)中的第二个参数表示要更改的进程; 使用0将指定当前进程.

如果你查看Process.setpriorityruby源,所有这个调用都在调用底层操作系统setpriority调用.在unix上,优先级可以在-20到20之间,其中-20是最有利的,20是最不利于调度.因此,如果您想要将当前流程提升到最高水平,您可以:

Process.setpriority(Process::PRIO_PROCESS, 0, -20)
Run Code Online (Sandbox Code Playgroud)