改变优先权的当前进程在C
-
09-06-2019 - |
题
在Windows我可以这样做:
HANDLE hCurrentProcess = GetCurrentProcess();
SetPriorityClass(hCurrentProcess, ABOVE_NORMAL_PRIORITY_CLASS);
我怎么可以做同样的事情上*尼克斯?
解决方案
尝试:
#include <sys/time.h>
#include <sys/resource.h>
int main(){
setpriority(PRIO_PROCESS, 0, -20);
}
请注意,必须以运行为超级用户对这项工作。
(欲了解更多信息,类型的人setpriority'在一个迅速。)
其他提示
如果做这样的事情在unix你想要的(如根)chmod你的任务和组s位。然后你可以改变你是谁运行为,什么你的优先事项是,你的线调度,等等。在运行时间。
这是伟大的,因为只要你不是编写一个大规模多线程的应用程序中的错误这样你需要超过48CPU框并没有人可以闭上你因为你有各CPU纺至100%的所有螺纹套以SHED_FIFO(运行,以完成)运行为的根源。
不..我不会说从经验。
@allain
你可以降低你自己的进程的优先权,而不是超级用户?
肯定的。不过要知道,这是一条单行道。你甚至不能回到你开始。甚至较小的减少优先权可以有惊人的大效果上运行的时候,有明显的负载系统。
不隶属于 StackOverflow