Linux查看进程 — ps命令篇

命令坞
命令坞
命令坞
95
文章
2
评论
2020-02-2116:37:51 1 746 1963字

Linux查看进程 -- ps命令篇

大家好,我是Ahui,今天给大家讲讲Linux系统如何查看进程,其实在Linux的世界里有很多种命令可以实现同一个目标,今天给大家说说 ps 命令吧,本文以CentOS 7来做例子。

  • 我们在操作Linux系统时,各项任务其实都是经过某个PID来完成的,包括你的bash环境,能不能顺利执行某项任务,就与该进程的权限有关了。
  • 假如你的Linux系统是个很忙碌的系统,那么当整个系统资源快用光的时候,您是否能查找出最消耗系统资源的进程。
  • 如果某个程序写的不好,导致内存中产生一个有问题的进程,您又该如何找到它?
  • 如果同时有几个任务在您系统中运行,其中有一项是最重要的,您又该如何让那个最重要的任务最优先执行呢?

所以,一个好的系统管理员,要熟悉系统进程的管理流程才行,否则当系统发生故障时,真的可以让你很头疼,非常难以解决。

既然进程那么重要,那么我们如何查看系统上面运行中的进程呢?很简单,可以利用静态的ps命令或者动态的top命令,还可以利用pstree来查看进程树之间的关系。

今天我们就讲讲ps命令。

  • ps 命令 (执行 ps 命令需要Root权限)
命令用法:
ps [选项参数]      <-- 注意选项参数前面有个空格,如下
ps aux      <-- 查看系统所有的进程
ps -lA       <-- 能够查看所有系统的进程
ps axjf      <-- 连同部分进程树状态

选项与参数:
-A  :所有的进程均显示出来,与 -e 具有相同的效用;
-a  :不显示与终端有关的所有进程;
-u  :有效使用者相关的进程 ;
x   :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
l   :较长、较详细的将该 PID 的信息列出;
j   :任务的格式 
-f  :做一个更为完整的输出。
  • ps -l 查看自己bash相关进程

系统里的进程是很多的,使用 ps -l 命令只会列出与你的bash有关的进程。

Linux查看进程 -- ps命令篇

ps -l 查看自己bash相关进程

[root@sxslog-Ahui]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 11672 11640  0  80   0 - 48633 do_wai pts/1    00:00:00 su
4 S     0 11673 11672  0  80   0 - 28861 do_wai pts/1    00:00:00 bash
0 R     0 11697 11673  0  80   0 - 38312 -      pts/1    00:00:00 ps
  • F:表示进程标识,说明这个进程的权限
    • 4 表示进程的权限为 Root
    • 1 表示子进程只是复制,没有真正执行
  • S:表示进程状态
    • R 进程正在运行
    • S 进程正在休眠,但可唤醒
    • D 不可唤醒的进程,进程可能在等待 I/O 的情况
    • T 停止状态
    • Z 僵尸状态,进程已经停止,但却无法被删除至内存外
  • UID/PID/PPID 分别代表进程被此UID所拥有 | 进程的PID号 | 此进程的父级进程PID号
  • C:CPU 使用率,单位为百分比
  • PRI/NI:代表优先执行等级,数字越小代表越高等级
  • ADDR/SZ/WCHAN 分别指出 此进程在内存里的位置 | 此进程消耗的内存 | 此进程是否运行 如果第一项和第三项里显示【 - 】就代表此进程正在运行中
  • TTY:用户的终端位置,如果是远程登录就会显示动态接口名称(pts/n)
  • TIME:此进程用掉CPU的多少时间
  • CMD:此进程触发的命令

 

  • ps aux 查看系统里的所有进程
Linux查看进程 -- ps命令篇

ps aux 查看系统里的所有进程

系统里的进程是很多的,使用 ps aux 命令会列出系统里所有的进程。

[root@sxslog-Ahui ]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 125332  3836 ?        Ss   2月20   0:02 /usr/lib/syste
root         2  0.0  0.0      0     0 ?        S    2月20   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   2月20   0:00 [kworker/0:0H]
  • USER:进程的所有者
  • PID :进程的ID
  • %CPU:CPU使用率 (%)
  • %MEM:内存使用率(%)
  • VSZ :虚拟内存使用率(KB)
  • RSS :此进程占用的固定内存(KB)
  • TTY :此进程在哪个终端,如果和终端无关就会显示 ?,tty1-tty6 是本机登陆,pts/0 表示远程登陆
  • STAT:进程状态
  • START:进程被触发启动时间
  • TIME :进程使用的CPU时间
  • COMMAND:此进程的实际命令

很多时候,想知道一个命令的使用方法或者突然忘记命令如何使用的时候,只要你在命令后面加个 ?或者 --help 系统都会列出帮助文档。

Linux之间,很多命令都是可以通用的,不妨现在就在你的Linux终端上马上测试吧!

 

命令坞
Linux Mint 20 发布前一窥 最新资讯

Linux Mint 20 发布前一窥

Ubuntu 20.04 LTS 版本发布了。这对 Linux Mint 用户来说也是一个好消息。一个新的 Ubuntu LTS 版本意味着新的 Linux Mint 主要版本也将很快随之出现。 为什...
使用 AppImage 进行 Linux 软件包管理 分享

使用 AppImage 进行 Linux 软件包管理

AppImage 在自足的环境中分发应用, 它适用于任何 Linux 发行版。 管理 Linux 机器(尤其是远程机器)的一个重要分就是管理和安装软件。当本地应用程序出现问题时,或者文件系统上的某些文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • sss sss 2

      写得非常不错,讲的很详细。