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

进程的管理由进程控制块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. Android AnimationUtils (动画)的使用
  2. 神经网络入门——14多层感知机
  3. 数据库大型应用解决方案总结(转)
  4. TCPIP,Http,Socket的区别
  5. 数据结构与算法一篇帮助你吃下KMP算法
  6. 线性表之顺序存储结构相关算法学习
  7. C语言中以二进制形式输出文件
  8. JAVA springboot ssm b2b2c多用户商城系统源码(三):服务提供与调用
  9. 快速实现一个简单的canvas迷宫游戏
  10. 【ArcGIS|空间分析】窗口分析
  11. 门户通专访草根站长九天狼:做站贵在坚持
  12. 阿里云活动价格点击购买时价格上涨的解决办法
  13. Canvas彩色樱花图案背景js特效
  14. 别把职场当官斗,聪明人都在自我成长
  15. 《游戏脚本的设计与开发》-(RPG部分)3.7 战斗系统之自动战斗(一)
  16. python分割文件_python简单分割文件的方法
  17. 虚函数占用类空间大小(转)
  18. Greedy——HDOJ 1789
  19. auto-springboot
  20. 网页设计:运用html与css实现水平居中、文字图片重叠混排

热门文章

  1. 阿里云ACP考试如何顺利通过,如何备考?
  2. Double.NaN和Float.NaN
  3. java map 内存分配_Android O Bitmap 内存分配
  4. 算法:动态规划(二)
  5. 数字人民币app公开上架应用市场 试点区域外用户暂无法使用
  6. Verizon宣布斥资44亿美元收购AOL,推动LTE无线视频和OTT 策略
  7. iis提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020) ”
  8. CSS3动画正方体3D旋转
  9. CrossOver 22中文版本更新上线功能介绍
  10. html超链接里面的文件打不开,word超链接为什么打不开指定文件