Linux多进程02-进程状态转换

进程状态

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

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

image

image

新建态: 进程刚被创建,未进入就绪队列

就绪态:进程具备运行条件,等待系统分配处理器以便运行。可能会有多个,排成一个队列。

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

阻塞态:进程不具备运行条件,等待某个事件完成

终止态:进程完成任务到达正常结束点,或错误异常终止。之后不再执行,等待其他进程对该终止态进程信息抽取后被操作系统删除

进程命令

  • 查看进程
    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);
posted @ 2023-05-17 18:33  言叶以上  阅读(15)  评论(0编辑  收藏  举报