87-多进程开发:进程状态转换

2、进程状态转换

进程状态: 反应进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。

2.1 三态模型

三态模型: 就绪态、运行态、阻塞态

在这里插入图片描述

运行态: 进程占有处理器正在运行。

就绪态: 进程具备运行条件,等待系统分配处理器以便运行。当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列

**阻塞态:**又称为等待 (wait) 态或睡眠 (sleep) 态,指进程 不具备运行条件,正在等待某个事的完成不具备运行条件,正在等待某个事的完成。

2.2 五态模型

五态模型: 新建态、就绪态、运行态、阻塞态、终止态

新建态: 进程刚被创建时的状态,尚未进入就绪队列
终止态: 进程完成任务到达正常结束点,或出现无法克服的错误而异常终止,或被操作系统及有终止权的进程所终止时所处的状态。进入终止态的进程以后不再执行,但依然保留在操作系统中等待善后。一旦其他进程完成了对终止态进程的信息抽取之后,操作系统将删除该进程。

2.3 进程相关命令

2.3.1 查看进程
ps aux / ajx
  • a: 显示终端上的所有进程,包括其他用户的进程
  • u: 显示进程的详细信息
  • x: 显示没有控制终端的进程
  • j: 列出与作业控制相关的信息
2.3.2 进程状态字母对应的含义
进程状态字母含义
D不可中断
R正在运行,或队列中的进程
S(大写)处于休眠状态
T停止或被追踪
Z僵尸进程
W进入内存交换(从内核2.6开始无效)
<高优先级
N低优先级
s包含子进程
+位于前台的进程
2.3.3 实时显示进程动态
top
	可以在使用 top 命令时加上 -d 来指定显示信息更新的时间隔

在top命令执行后,可以按一下按键对显示的结果进行排序:

  • M 根据内存使用量排序
  • P 根据 CPU 占有率排序
  • T 根据进程运行时间长短排序 根据进程运行时间长短排序
  • U 根据用户名来筛选进程
  • K 输入指定的 PID 杀
2.3.4 kill相关命令
-- 杀死进程
    kill [-signal] pid
	kill -l 列出所有信号
	kill -SIGKILL 进程ID
	kill -9 进程ID
	
    killall name  根据进程名杀死进程

2.4 进程号相关函数

pid_t getpid (void) ;	--进程id
pid_t getppid (void) ;	--父进程id
pid_ t getpgid (pid_t pid);	--进程组id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liufeng2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值