进程又称任务,是一个动态的使用系统资源、处于活动状态的应用程序。

进程的管理由进程控制块PCB、进程调度、中断管理、任务队列等组成,它是linux文件系统、存储管理、设备管理和驱动程序的基础。

进程控制块PCB中包含了进程的所有信息,主要包括进程PID、进程所占有的内存区域、文件描述符和进程环境等信息。

他用task_struct的数据结构表示,存在于include/linux/sch.h

进程状态及转换

#define TASK_RUNNING 0 //运行状态

#define TASK_INTERRUPTIBLE 1 //等待状态(可被中断)

#define TASK_UNINTERRUPTIBLE 2  //等待状态(不可被中断)

#define TASK_STOPPED 4  //停止状态

#define TASK_ZOMBIE 8  //睡眠状态

#define TASK_DEAD 16  //僵死状态

进程的基本操作,六大类:

1.获取进程信息函数:主要通过读取进程控制块PCB中的信息。

(1)getpid()

功能:用来获取目前进程的进程标识。

定义函数:pid_t getpid(void)

返回值:返回当前进程的进程识别号。

头文件:#include

(2)getppid()

功能:用来获取目前进程的父进程标识。

定义函数:pid_t getppid(void)

返回值:返回当前进程的父进程识别号。

头文件:#include

(3)getpgid()

功能:用来获得参数pid指令进程所属于的组识别号,若参数为0,则返回当前进程的组识别码。

定义函数:pid_t getpgid(pid_t pid)

返回值:执行成功则返回正确的组识别码,若有错则返-1,错误原因存在于errno中。

头文件:#include

(4)getpgrp()

功能:用来获得目前进程所属于的组识别号,等价于getpgid(0)。定义函数:pid_t getpgrp(void)

返回值:执行成功则返回正确的组识别码。头文件:#include

(5)getpriotity(void)

功能:用来获得进程,进程组和用户的进程执行优先权。

定义函数:int getpriority(int which,int who)

参数含义:

which:PRIO_PROCESS   who为进程的识别码

PRIO_PGRP     who为进程的组识别码

PRIO_USER     who为用户识别码返回值:执行成功则返回当前进程的优先级(-20--20),值越小优先级越高。若出错则返-1,原因在errno中。头文件:#include

简单实例:

[keven@localhost systemCall]$ cat -n get_process_information.c

1  #include 2  #include 3  #include 4

5  int main(/*int argc,char **argv*/)

6  {

7          printf("This process's pid is:%d",getpid());

8          printf("\nThis process's farther pid is:%d",getppid());

9          printf("\nThis process's group pid is:%d",getpgid(getpid()));

10          printf("\nThis process's group pid is:%d",getpgrp());

11          printf("\nThis process's priority is:%d\n",getpriority(PRIO_PROCESS,getpid()));

12          return 0;

13  }

[keven@localhost systemCall]$ ./get_process_information

This process's pid is:6172

This process's farther pid is:5681

This process's group pid is:6172

This process's group pid is:6172

This process's priority is:0

[keven@localhost systemCall]$

linux用函数输出进程信息,Linux进程的管理 获取进程信息函数相关推荐

  1. linux用函数输出进程信息,进程间通信之-消息队列(Message)--linux内核剖析(十一)...

    消息队列 消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一.另外两种是信号量和共享内存. 这些IPC机制使用共同的授权方法.只有通过系统调用将标志符传递给核心之后,进程才能存取 ...

  2. Linux第六周学习总结——进程额管理和进程的创建

    Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...

  3. Linux登录的shell信息,Linux展示登录Shell信息

    Linux显示登录Shell信息 Linux显示登录Shell信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -p Login Name T ...

  4. linux 怎样查看设备信息,Linux查看设备信息命令

    系统 #查看内核/操作系统/CPU信息 uname -a #查看操作系统版本 head -n 1 /etc/issue #查看CPU信息 cat /proc/cpuinfo #查看计算机名 hostn ...

  5. linux查看本机信息,linux系统怎么查看本机配置?

    linux如何查看系统的硬件配置 如何在linux系统下查看系统配置? 在图形模式下我们可以很方便的利用Linux的图形工具,点击几下就可以查看到Linux系统的的硬件信息.但是大部分生产服务器系统为 ...

  6. linux查看输出的信息,linux查看java的输出信息

    linux查看java的输出信息 [2021-02-04 22:41:35]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  7. linux c 函数专挑,Linux C wait函数

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 我们先来看一段代码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  8. linux下查看系统硬件,Linux 查看系统硬件信息 Linux 查看系统硬件信息(实例详解)...

    linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并作了分类,实例解说.html cpu lscpu命令,查看的是cpu的统计信息.linux blue@ ...

  9. linux查看网卡驱动信息,linux 查看网卡驱动信息

    方法一: 1:ethtool -i ethx 如: linux:/mnt # ethtool -i eth1 driver: e1000e version: 1.0.2-k2 firmware-ver ...

最新文章

  1. 用Python从头实现一个神经网络
  2. 简书 html标签,html标签
  3. 6. Qt 信号与信号槽 (7)-QMetaObject:: activate
  4. 10年Linux老司机吐血整理的命令大全,拿去吧
  5. 划重点:微信小程序1月9日正式上线
  6. Xcode9模拟器隐藏边框
  7. 云图说|知道吗?在和你对话的那头,也许是个机器人哦~
  8. ASP.net控件开发系列之(一、二)
  9. python将字符串写入txt文件_python将字符串以utf-8格式保存在txt文件中的方法
  10. 数据共享,回调函数,threading模块,守护线程
  11. c bool 类型检查_第3篇:C/C++ 检查数字类型的最高有效位(MSB)
  12. 计算机数学基础试卷及答案,2012计算机数学基础试题及答案.pdf
  13. ​在家共享按摩椅“掘金”共享经济
  14. spring cloud day(6) gateway网关
  15. NVIDIA_CUDA和AMD_AMD APP
  16. oracle应付创建会计科目,R12 应付创建会计科目警告【已解决】
  17. 思维方式-《六顶思考帽》书中的精髓:通过在同一时间只使用一顶思考帽的方法,可以解决思维混乱等问题,从而提升思考效率。
  18. 论文笔记—ITS+假名管理—ASPA: Advanced Strong Pseudonym based Authentication in Intelligent Transport System
  19. 全国计算机软件测试工程师,全国计算机等级考试软件测试工程师.doc
  20. 谷歌浏览器报错ERR_MANDATORY_PROXY_CONFIGURATION_FAILED 解决办法

热门文章

  1. 第十二课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
  2. qlistwidge 隐藏_QListWidget 去掉选中项
  3. ubuntu下解决无法获锁/var/lib/dpkg/lock-open的方法
  4. 京东金融大数据竞赛猪脸识别(7)- 识别方法之三
  5. buck双闭环控制仿真降压电路PI调节器设计降压斩波电路建模和数学模型建模
  6. 学习sql python_2019年精明的数字营销人员生产力指南:如何学习SQL,Python和…
  7. 算法:动态规划(二)
  8. 学校的远程教育网络课程的整站ASP源代码
  9. 【QT项目】基于c++ qt的手机通讯录管理系统
  10. Windows 2003 个人用户使用的快速入门和维护独门技巧