找回密码
 立即注册
首页 业界区 安全 Linux系统进程管理

Linux系统进程管理

威割 2025-6-1 00:09:53
概念

在 Linux 系统中,进程是正在运行的程序的实例。理解进程的管理、查看和控制对于系统管理员和开发者来说非常重要
进程的定义:

  • 进程(Process)是程序在执行时的一个实例。它包含了程序的代码、数据、堆栈、环境变量等。
  • 每个进程都有一个唯一的 进程 ID(PID),用于标识进程。
  • 进程可以处于不同的状态,如运行态、就绪态、等待态、僵尸态等。
进程监控指令之ps

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的.
语法
  1. ps [选项]
复制代码
常用选项说明

  • -a:显示所有用户的进程(不包括会话领导者和没有控制终端的进程)。
  • -u:显示进程的用户信息。
  • -x:显示没有控制终端的进程。
  • -e:显示所有进程。
  • -f:显示长格式信息,包括父进程 ID、控制终端等。
  • -l:显示长格式信息,类似于 -f,但更详细。
  • -o:自定义输出格式,指定要显示的字段。
  • -p:指定要显示的进程 ID。
  • -t:指定要显示的终端。
  • -U:指定要显示的用户。
  • -G:指定要显示的用户组。
常用搭配
  1. ps -ef
  2. ps -aux
  3. ps -le
复制代码
ps -aux解析
  1. root@master-01:~# ps -aux | head -10
  2. USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
  3. root           1  0.4  0.0 170856 11472 ?        Ss   Feb17 350:48 /sbin/init nopti
  4. root           2  0.0  0.0      0     0 ?        S    Feb17   0:13 [kthreadd]
  5. root           3  0.0  0.0      0     0 ?        I<   Feb17   0:00 [rcu_gp]
  6. root           4  0.0  0.0      0     0 ?        I<   Feb17   0:00 [rcu_par_gp]
  7. root           6  0.0  0.0      0     0 ?        I<   Feb17   0:00 [kworker/0:0H-kblockd]
  8. root           8  0.0  0.0      0     0 ?        I<   Feb17   0:00 [mm_percpu_wq]
  9. root           9  0.0  0.0      0     0 ?        S    Feb17   2:29 [ksoftirqd/0]
  10. root          10  0.0  0.0      0     0 ?        I    Feb17  53:47 [rcu_sched]
  11. root          11  0.0  0.0      0     0 ?        S    Feb17   0:08 [migration/0]
  12. #解析
  13. USER:表示用户
  14. PID:表示进程号
  15. %CPU:表示cpu占用率
  16. %MEM:表示内存占用率
  17. VSZ:进程占用的虚拟内存,单位kb
  18. RSS:进程占用的常驻内存,单位kb
  19. TTY:?表示进程没有控制终端
  20. STAT:进程状态
  21. START:进程启动时间
  22. TIME:进程累计运行了多长时间
  23. COMMAND:进程运行的命令
复制代码
进程状态

常用进程基础状态


  • 运行态(Running):状态字符R。进程正在CPU上运行,或者在运行队列中等待运行
  • 睡眠态(Sleeping):状态字符S。进程正在等待某些事件(如 I/O 操作、信号等)完成。进程处于睡眠态时,不会占用 CPU 时间。
  • 不可中断睡眠态(Disk Sleep):状态字符D。进程正在等待某些不可中断的 I/O 操作完成,通常与磁盘 I/O 操作有关。处于这种状态的进程不能被信号唤醒,也不能被 kill 命令终止。
  • 停止态(Stopped):状态字符T。进程被信号停止,通常是因为收到了 SIGSTOP 或 SIGTSTP 信号。停止的进程不会占用 CPU 时间,但可以被信号唤醒。
  • 僵尸进程(Zombie):状态字符Z。进程已经完成,但其父进程尚未读取其状态信息。僵尸进程不能被终止,只能等待父进程读取状态信息后自动消失。僵尸进程会占用系统资源,直到父进程读取其状态信息。
  • 死态(Dead):状态字符X。进程已经死亡,但尚未被父进程回收。这种状态的进程通常不会出现在 ps 的输出中。
常用组合进程状态

<ul>R+、S+、D+:带+号的进程,表示进程前台运行
Ss、xxxs:带小s的进程,进程是父进程
R
您需要登录后才可以回帖 登录 | 立即注册