Linux多进程02-进程状态转换
进程状态
三态模型:就绪态、运行态、阻塞态
五态模型:新建态、就绪态、运行态、阻塞态、终止态
新建态: 进程刚被创建,未进入就绪队列
就绪态:进程具备运行条件,等待系统分配处理器以便运行。可能会有多个,排成一个队列。
运行态:进程占有处理器正在运行
阻塞态:进程不具备运行条件,等待某个事件完成
终止态:进程完成任务到达正常结束点,或错误异常终止。之后不再执行,等待其他进程对该终止态进程信息抽取后被操作系统删除
进程命令
-
查看进程
ps aux / ajx
a:显示终端上的所有进程,包括其他用户的进程
u:显示进程的详细信息
x:显示没有控制终端的进程
j:列出与作业控制相关的信息 -
实时显示进程动态
top
可以在使用 top 命令时加上 -d 来指定显示信息更新的时间间隔,在 top 命令执行后,可以按以下按键对显示的结果进行排序:- M 根据内存使用量排序
- P 根据 CPU 占有率排序
- T 根据进程运行时间长短排序
- U 根据用户名来筛选进程
- K 输入指定的 PID 杀死进程
-
杀死进程
kill [-signal] pid
kill –l 列出所有信号
kill –SIGKILL 进程ID
kill -9 进程ID
killall name 根据进程名杀死进程
进程号
- 进程号(PID)类型为 pid_t(整形), 范围 0~32767
- 任何进程(除init进程)都由父进程创建,对应进程号为(PPID)
- 进程组可以接收同一终端的各种信号,关联的进程有一个进程组号(PGID)
- 相关函数
- pid_t getpid(void);
- pid_t getppid(void);
- pid_t getpgid(pid_t pid);