当前位置:  开发笔记 > 开发工具 > 正文

在C中更改当前进程的优先级

如何解决《在C中更改当前进程的优先级》经验,为你挑选了2个好方法。

在Windows上,我可以这样做:

HANDLE hCurrentProcess = GetCurrentProcess();

SetPriorityClass(hCurrentProcess, ABOVE_NORMAL_PRIORITY_CLASS);

我怎么能在*nix上做同样的事情?



1> Silas Snider..:

尝试:

#include 
#include 

int main(){
    setpriority(PRIO_PROCESS, 0, -20);
}

请注意,您必须以超级用户身份运行才能使其正常工作.

(有关更多信息,请在提示符下键入"man setpriority".)



2> 小智..:

如果你想在unix下执行类似的操作(以root用户身份)chmod你的任务并设置s位.然后,您可以在运行时更改您的运行对象,优先级,线程调度等.

只要你没有编写一个带有bug的大型多线程应用程序就可以了,这样你就可以接管一个48 CPU的盒子并且没有人可以关闭你,因为你的每个CPU都旋转100%,所有线程都设置为SHED_FIFO(运行完成)以root身份运行.

不......我不会从经验中说话......

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有