首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unix中nice和setpriority的区别

unix中nice和setpriority的区别
EN

Stack Overflow用户
提问于 2011-10-01 13:01:57
回答 3查看 8.4K关注 0票数 8

我正在尝试用C语言实现unix的“nice”命令的另一种风格。我已经看到了系统调用nice()和setpriority()调用的定义。nice()调用只增加/减少进程的优先级。如果我想将一个进程的优先级设置为一个特定值,我不能使用nice()调用吗?基本上,除了如何修改优先级之外,nice()和setpriority()之间有什么不同吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-01 13:09:27

这是历史。在setpriority()之前很久就引入了nice()。为了向后兼容,保留了nice函数。

票数 9
EN

Stack Overflow用户

发布于 2011-10-01 13:07:37

nice设置您自己的优先级(当前进程的优劣)。setpriority允许您设置其他进程(或进程组或用户)的优良性。可以把它想象成renice

man 3p nice

int nice(int增量);

man 3p设置优先级

int setpriority(int which,id_t who,Int值);

票数 8
EN

Stack Overflow用户

发布于 2011-10-01 18:24:10

nice()修改了当前进程相对于当前nice值的nice值,所以进程不需要知道它的起始nice值,它只关心它应该对系统更好(例如:一个进程启动一个子进程,这个子进程执行一些后台处理,这个子进程将自己设置为nice值)。

setpriority()用例是用户显式地为特定进程设置绝对值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7618291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档