int getpriority(int which, int who);返回一组进程的优先级

参数which和who确定返回哪一组进程的优先级

The value which is one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER,

and who is interpreted relative to which (a process identifier for PRIO_PROCESS, process group identifier for PRIO_PGRP, and auser ID for PRIO_USER).

1、PRIO_PROCESS,一个特定的进程,此时who的取值为进程ID

2、PRIO_PGRP,一个进程组的所有进程,此时who的取值为进程组的ID

3、PRIO_USER,一个用户拥有的所有进程,此时who的取值为实际用户ID

getpriority如果出错返回-1,并且设置errno的值,errno的值可能是:

EINVAL which was not one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.。which是一个无效的值

ESRCH No process was located using the which and who values specified.。which和who的组合与现存的所有进程均不匹配

注意:当指定的一组进程有不同优先级时,getpriority将返回其中优先级最低的一个。此外,当getpriority返回-1时,可能发生错误,

也有可能是返回的是指定进程的优先级。区分他的方法是,在调用getpriority前将errno清零。如果返回-1且errno不为零,说明有错误产生。

=============================================

调用nice来设置进程的优先级。

nice系统调用等同于:

int  nice( int  increment)

{  

 int oldprio = getpriority( PRIO_PROCESS,  getpid());

 return setpriority(PRIO_PROCESS, getpid(), oldprio + increment);

}

参数increment数值越大则优先顺序排在越后面, 即表示进程执行会越慢.

只有超级用户才能使用负的increment值, 代表优先顺序排在前面, 进程执行会较快.

#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <stdlib.h>int main()
{pid_t pid;int stat_val;int prio;int inc = 3;int exit_code;pid = fork();if (0 == pid){exit_code = 11;prio = getpriority(PRIO_PROCESS, getpid());printf("the child's priority is:%d\n", prio);nice( inc );prio = getpriority(PRIO_PROCESS, getpid());printf("after nice(%d), the child's priority is:%d\n", inc, prio);printf("child will exit with the exit code:%d\n", exit_code);exit(exit_code);}else if (pid < 0){exit(0);}wait(&stat_val);if ( WIFEXITED(stat_val) ){printf("the child has exited, the  exit code is:%d\n", WEXITSTATUS(stat_val));}return 0;
}

转载于:https://www.cnblogs.com/zhangxuan/p/6427533.html

改变进程的优先级,nice,getpriority,setpriority相关推荐

  1. 进程的优先级设置与获取,进程时间

    进程的优先级设置与获取:值越小优先级越高        #include <sys/time.h>        #include <sys/resource.h>       ...

  2. android中进程的优先级

    android中进程的优先级 转载于:https://www.cnblogs.com/Renyi-Fan/p/7472027.html

  3. 操作系统老师上课讲的那个根据I/O时间和CPU时间比例来为进程分配优先级的题目,I/O时间比例越大,则这个进程的优先级越高

    链接:https://www.nowcoder.com/questionTerminal/bf9435b00606484c9f85fe93c72bf06d 来源:牛客网 某系统正在执行三个进程 P1. ...

  4. Android系统中的进程管理:进程的优先级

    本文是Android进程管理系列文章的第二篇,会讲解进程管理中的优先级管理. 进程管理的第一篇文章:<进程的创建>请跳转至这里. 本文适合Android平台的应用程序开发者,也适合对于An ...

  5. Linux系统编程12:进程入门之进程的优先级及PR和NI如何修改进程优先级

    文章目录 (1)什么是进程的优先级 (2)进程优先级如何表示 (3)PRI和NI A:什么是PRI和NI B:如何修改进程优先级 (4)其他概念 (1)什么是进程的优先级 这里首先要区分优先级和权限的 ...

  6. Linux——孤儿进程|进程的优先级 用top命令去修改优先级 其他概念 环境变量 PATH 获取环境变量

    目录 孤儿进程 进程的优先级 用top命令去修改优先级 其他概念 环境变量 PATH 获取环境变量 习题 孤儿进程 父进程如果提前退出,那么子进程后退出,进入Z之后,那该如何处理呢? 父进程先退出,子 ...

  7. 2021-06-26进程的优先级与LAMP项目部署实战

    进程的优先级与LAMP项目部署实战 一.进程的优先级(扩展) 1.什么是进程的优先级 Linux是一个多用户.多任务的操作系统,系统中通常运行着非常多的进程.哪些进程先运行,哪些进程后运行,就由进程优 ...

  8. 进程/线程优先级,亲缘性

    亲缘性的意思是 进程只在某个cpu上运行 ,比如 BOOL WINAPI SetProcessAffinityMask(_In_ HANDLE hProcess,_In_ DWORD_PTR dwPr ...

  9. oracle的PRIPID字段,【学习笔记】Oracle进程调度策略优先级 high_priority_processes案例...

    [学习笔记]Oracle进程调度策略优先级 high_priority_processes案例 时间:2016-10-27 21:51   来源:Oracle研究中心   作者:HTZ   点击: 次 ...

最新文章

  1. Open quote is expected for attribute {1} associated with an element type name.
  2. a标签的四种链接状态
  3. Vue 适配移动端 使用 postcss-pxtorem lib-flexible 插件 转px为vw rem
  4. Flex 序列化自定义类 解决 sharedObject 保存自定义对象
  5. text/html与text/plain的区别
  6. 孪生神经网络_轩辕实验室:数字孪生:基于机器学习的汽车数字孪生模型
  7. WPF依赖属性(续)(1)
  8. R+Hadoop大数据方案有哪些坑?
  9. k近邻分类器的使用:简单例子
  10. 从EF三层 到 DDD领域驱动设计(1)--------------数据操作
  11. python开发【第一篇】入门
  12. (十)Hibernate的一对一关联关系
  13. Python实现二叉树的前中后序遍历
  14. genymotion配置android模拟器
  15. powerdesigner16 license key
  16. O3DE 的Lumberyard 游戏引擎
  17. html网页肯德基设计代码作业,AI快速制作一幅肯德基广告单页教程
  18. WKWebView预初始化
  19. 4026.【函数】【测试】计算因子k的数量
  20. Day1—图片动态过渡

热门文章

  1. studio 3t 在ubuntu中使用_在ubuntu中使用ufw配置防火墙
  2. android onresume时view,android – 当对话框出现时不调用OnResume
  3. 看直播拿证书 | 12 天,0 基础晋级 Serverless 高手
  4. 阿里云联合中国信通院发布《云计算开放应用架构》标准
  5. 拒做工具人!教你一键快速部署应用到容器镜像仓库
  6. VMware 完成 27 亿美元的 Pivotal 收购 | 云原生生态周报 Vol. 34
  7. 云栖大会发布全球调度算法大赛,阿里又要搞什么黑科技?
  8. c语言printf%%,c语言printf实现同一位置打印输出的实例分享
  9. 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)
  10. c语言初学者百题大战答案七,C语言百题大战2405how many minutes