问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

进程状态和生命周期

创作时间:
作者:
@小白创作中心

进程状态和生命周期

引用
CSDN
1.
https://blog.csdn.net/Yunzhong_jiuxiao/article/details/137554177

在操作系统中,进程是程序执行的基本单位,它包含了程序代码、数据以及执行环境等信息。进程的状态和生命周期对于系统管理和故障排除至关重要。本文将详细介绍进程的基本概念、状态及其生命周期,并介绍如何使用Linux命令行工具(如ps和top)来查看和管理进程状态。

进程的定义

进程是已启动的可执行程序的运行中实例。从进程创建那一刻起,它由以下项目组成:

  • 以分配的内存的地址空间
  • 安全属性,包括所有权凭据和特权
  • 程序代码的一个或多个执行线程
  • 进程状态

进程环境的信息列表:

  • 本地和全局变量
  • 当前调度上下文
  • 分配的系统资源。(如文件描述和网络端口)

现有的父进程可以复制自己的地址空间来创建子进程结构。每一个新的进程分配有一个唯一的进程ID(PID),满足追踪和安全性的需求。任何进程都可以创建子进程。所有的进程都是第一个进程的后代。在Linux上,(以前的版本第一个进程是 init),现在第一个进程几乎都是 systemd。

通常,父进程在子进程运行期间处于睡眠状态。父进程在子进程退出时会收到信号而被唤醒,并释放子进程的资源。

描述进程的状态

在多任务处理系统中,每个CPU 在一个时间上处理一个进程,在进程运行时,他对CPU时间和资源分配的直接要求会有变化。

下图和表格详细描述了Linux进程状态:

进程状态的重要性

主要是在进行系统故障排除的时候。了解内核如何与进程通信以及进程如何相互通信非常重要。

可以使用

top

命令的

S

列来进行查看。也可以用

ps

命令的

STAT

列显示每个进程的状态。


[root@rhce7 ~]# top  

[root@rhce7 ~]# ps aux  

然后根据进程的状态,通过信号来进行 控制进程的状态(暂停、停止、恢复、终止、或中断)

列出进程


ps 命令用于列出当前进程的相信信息。  

常见的命令

ps

加上

aux

参数来显示包括没有控制终端的进程在内大的所有进程。


[root@rhce7 ~]# ps aux  
  • USER:该进程是由哪个⽤户产⽣的
  • PID:进程的ID号
  • %CPU:该进程占⽤CPU资源的百分⽐,占⽤越⾼,进程越耗费资源
  • %MEM:该进程占⽤物理内存的百分⽐,占⽤越⾼,进程越耗费资源
  • VSZ:该进程占⽤虚拟内存的⼤⼩,单位KB
  • RSS:该进程占⽤实际物理内存的⼤⼩,单位KB
  • TTY:该进程是在哪个终端中运⾏的。其中TTY1-TTY6代表本地控制台终端。TTY2-6是本地的字符界⾯终端,
    TTY1是图形终端。PTS/0-255代表虚拟终端。如果是“?”,则表示该进程是由内核直接产⽣,⽽不是任何的终端产⽣。
  • STAT:进程状态。常⻅的状态有R:运⾏、S:睡眠、T:停⽌、s:包含⼦进程、+:位于后台
  • START:该进程的启动时间
  • TIME:该进程占⽤CPU的运算时间,注意不是系统时间
  • COMMAND:产⽣此进程的命令名

同时我们可以通过命令

ps --forest

来以树形格式显示进程。


[root@rhce7 ~]# ps --forest  

ps命令的默认输出是按照进程ID编号排序的。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号