nice getpriority setpriority nvic setpriority

nice函数

功能描述:
改变进程优先级。在调用进程的nice值上添加参数指定的值。较高的nice值意味值较低的优先级,只有超级用户才可指定负增量--即提升优先级。nice的取值范围可参考getpriority的描述。


用法:
#include<unistd.h>

int nice(intinc);


返回说明:
成功执行时,返回新的nice值。失败返回-1,errno被设为以下值
EPERM:调用者试着提高其优先级,但权能不足。

范例:
#include <stdio.h>
#include <unistd.h>
#include <errno.h>

int main()
{
int ret = 0;
ret = nice(-2);
if (ret == -1)
perror("nice");
nice()getpriority()setpriority() nvic setpriority
return ret;
}

getpriority() 與setpriority() 程式設計

SYNOPSIS
#include <sys/time.h>
#include <sys/resource.h>

int getpriority(int which, int who);

getpriority()which 參數用來指定要取得priority 對象:process、process group 或 user ID。

最容易學習的方式就是讀範例,所以我們將會設計 2 個範例來執行。

which 參數:

Jollen 寫了二個程式:setpriority.cgetpriority.c。先來測試一下。

實測結果

隨便找一個對象下手:

# ps ax... 17349 ? S 0:02 [httpd] ...

把 PID 17349 的scheduling priority 往上提升一級:

#./getpriority 17349 Process (17349) Priority is 0.# ./setpriority Usage: ./setpriority [pid] [priority (-20~19)] #./setpriority 17349 -1 OK. # ./getpriority 17349 Process (17349)Priority is -1.

另外,系統指令 nice 可以用來設定執行命令的 process priority:

NICE(1)FSF NICE(1) NAME nice - run a program with modified schedulingpriority SYNOPSIS nice [OPTION] [COMMAND [ARG]...] DESCRIPTION RunCOMMAND with an adjusted scheduling priority. With no COMMAND,print the current scheduling priority. ADJUST is 10 b y default.Range goes from -20 (highest priority) to 19 (lowest). -n,--adjustment=ADJUST increment priority by ADJUST first --helpdisplay this help and exit --version output version information andexit

程式碼

#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/time.h>#include <sys/resource.h>int main(int argc, char *argv[]){      int prio_process, prio_pgroup, prio_user;   pid_t pid;   if (argc != 2)      return -1;   pid = atoi(argv[1]);   prio_process = getpriority(PRIO_PROCESS, pid);   printf("Process (%d) Priority is %d.n", pid, prio_process);   return 0;}
#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/time.h>#include <sys/resource.h>int main(int argc, char *argv[]){   int errno, prio;   pid_t pid;   if (argc != 3) {      printf("Usage: %s [pid] [priority (-20~20)]n", argv[0]);      return -1;   }   pid = atoi(argv[1]);   prio = atoi(argv[2]);   errno = setpriority(PRIO_PROCESS, pid, prio);   printf("OK.n");   return 0;}
setpriority
相关函数getpriority,nice
表头文件#include<sys/time.h>
#include<sys/resource.h>
定义函数int setpriority(int which,int who, intprio);
函数说明

setpriority()可用来设置进程、进程组和用户的进程执行优先权。参数which有三种数值,参数who则依which值有不同定义
whichwho 代表的意义
PRIO_PROCESSwho为进程识别码
PRIO_PGRPwho为进程的组识别码
PRIO_USERwho为用户识别码

进程默认的优先权都为0,所以每个进程执行所占用的时间都差不多。为了使某个进程执行的时间更长一些,可以提高该进程的优先权。
参数prio介于-20 至20之间。代表进程执行优先权,数值越低代表有较高的优先次序,执行会较频繁。此优先权默认是0,而只有超级用户(root)允许降低此值。

返回值执行成功则返回0,如果有错误发生返回值则为-1,错误原因存于errno。
ESRCH 参数which或who 可能有错,而找不到符合的进程
EINVAL 参数which值错误。
EPERM 权限不够,无法完成设置
EACCES 一般用户无法降低优先权

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/314038.html

更多阅读

马天如 戴良纯现在照片曝光

马 变性后的马天如天如在1995年后,从未在公众场合曝光,最近因一向孝顺的天如,为迎接年届60的妈妈回港,以近3万新币月租,租下别墅,与母亲同住,共享天伦。  11年来从未曝光的马天如,剪了一个平头装,一身恤衫西裤打扮,身材健硕,外形根本与一个

泰罗奥特曼ZAT队 泰罗奥特曼副队长

泰罗·奥特曼泰罗·奥特曼泰罗奥特曼是奥特之父与奥特之母的独子,是名副其实的奥特王子。《泰罗·奥特曼》似乎可以称得上是所有奥特系列中最诙谐的一部了。(“所有系列中”中不包括电影《UltramanZearth》和商业信息片《Ultraman Ni

WhatatypicallyChinesebigfamily bigfamily吧

As usual,we get reunited andhave dinner together on theSpring Festival. It was nice. Maybe I am not the "under thespotlight" this year, which means they don't show so much concernson my career and relationship iss

SOLANA蓝色港湾 solana蓝色港湾夜晚

一直一直,就想去SOLANA蓝色港湾看看,但平时总是太忙,回家就想躺倒,可能是年龄大了,呵呵;要不就是周末要照顾孩子,没时间...哈,终于有机会去SOLANA玩啦路是提前就探好的,前两天开车带牵牵特意找了一下,所以超顺,六点就到了!偶就趁着这夕阳让老公

SANSOOGABSANKOREANBBQ 山水甲山韩国烧烤 意大利gabs

芝加哥的老牌韩国烧烤店,人气一直不减。炭火烤制,味道鲜香,其他韩国菜味道都是相当棒,服务水准又是大妈级,但是也有NICE的,偶尔还会坐下来帮你烤肉捏。餐厅随时都是亚洲面孔客人,美国人也是力捧,各杂志媒体持续报道。也有聚会派对包房容纳10

声明:《nice getpriority setpriority nvic setpriority》为网友更阑人静自孤泣分享!如侵犯到您的合法权益请联系我们删除