Hello! 欢迎来到小浪云!


linux学习笔记四


进程(process)是程序在执行过程中的一个动态实例,是系统进行资源分配和调度的基本单位。让我们详细区分进程和程序,并探讨在windowslinux系统中的进程管理。


进程与程序的区别

1.0 程序是一组静态的指令集合;而进程则是程序的动态执行过程,具有生命周期,是动态生成和终止的。程序无法直接申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此它不占用系统运行的资源。

2.0 程序和进程之间没有一一对应的关系。


Windows系统中的进程和线程

linux学习笔记四xp进程.png linux学习笔记四进程情况.png


Linux系统中的进程属性

Windows系统类似,Linux中也总是有许多进程在运行。每个进程都有一个唯一的识别号,称为PID(进程ID),用于区分不同的进程。进程还具有其他属性,如拥有者ID、进程名、进程状态、父进程ID以及运行时间等。

Linux操作系统的启动过程来看,系统启动后的第一个进程是init,其PID为1。init是唯一一个由系统内核直接运行的进程,新的进程可以通过fork命令生成。


进程的状态

linux学习笔记四进程状态.gif

  • 就绪状态:进程已经获得除CPU之外的所有运行所需资源。
  • 运行状态:进程正在占用CPU运行。
  • 等待状态:进程正在等待某个事件或资源。
  • 挂起状态:正在运行的进程由于某种原因失去CPU而暂停运行。
  • 终止状态:进程已经结束。
  • 休眠状态:进程主动暂时停止运行。
  • 僵死状态:进程已经停止运行,但相关控制信息仍保留。

进程的优先级

Linux系统中,所有的进程根据其状态按时间顺序排列,形成不同的队列。进程的优先级范围为-20到19之间的整数,数值越小,优先级越高。

进程的类型

进程控制命令

ps [选项] -a 显示当前终端所有进程 -A 显示系统所有进程,包括其他用户进程和系统进程信息 -u 显示包括进程拥有者在内的详细信息

linux学习笔记四ps.png

pstree [选项] -a 显示启动进程的命令行 -n 按照进程号进行排序

linux学习笔记四pstree.png linux学习笔记四top.png

kill [选项] PID kill % 作业号 终止正在运行的进程或作业。 -15 正常结束 -9 强制终止进程 -1 重新加载配置文件
nice -n 优先数 命令名 在进程运行前,更改优先级  renice 优先数 PID 在进程运行中更改优先级

参考文章

  • Linux 杀死进程方法大全(kill,killall)
  • Linux kill命令详解
  • Linux进程状态及转换关系
  • Linux上进程状态查询

相关阅读