Linux基础命令-sort内容排序

Linux基础命令-chattr更改文件隐藏属性

文章目录

前言

一 命令的介绍

二 语法及参数

2.1 通过help和man查看命令的语法

2.2 命令参数

2.3 常用参数

三 参数使用与内容含义

3.1 查看系统当中所有的数据

3.1.1 ps aux中状态栏的含义

3.1.2 STAT进程状态各自代表的含义 

3.1.3 STAT状态后的内容含义

3.2 以更详细的格式显示进程

3.2.1 ps lA中状态栏的含义

 3.3 显示进程的变量和完整的格式

3.3.1 ps -ef中状态栏的含义

 总结

前言

        在linux中,有时需要会看进程的状态,知道哪些进程占用了多少的CPU、内存,以及当前系统的状态怎么样等等,下面来看下这个命令的一些参数。 

一 命令的介绍

        ps命令来自于英文词组“process status”,其功能使用与显示当前系统的进程状态。使用ps这个命令可以查看到进程的所有信息,例如说是进程的PID号、发起用户、系统资源使用占比(CPU,内存)、运行状态等。帮助我们可以及时发现哪些进程出现“僵死”或“不可中断”等异常情况。

二 语法及参数

2.1 通过help和man查看命令的语法

ps命令可以直接加参数进行查看进程;

语法:ps 【参数】

SYNOPSIS
       ps [options]

2.2 命令参数

        ps命令的所有参数,可以看到这个命令的参数是有很多的,基本上这个命令只有几个是常用的。 

a显示当前终端下的所有进程,包括其他用户的进程
-A所有进程都显示出来
c显示每个进程真正的指令名称,而不包含路径
-C <指令名称>指定执行指令的名称,并列出该指令的程序的状况
-d显示所有程序,但不包括阶段作业管理员的程序
e显示进程及环境变量
-f显示UID,PPID,C与STIME栏位
f用ASCII字符显示树状结构,表达程序间的相互关系
g显示现行终端机下的所有程序,包括所属组的程序
-G <群组识别码>列出属于该群组的程序的状况
h不显示标题列
-H显示树状结构,表示程序间的相互关系
-j采用工作控制的格式显示程序状况
-l采用详细的格式来显示程序状况
L列出栏位的相关信息
-m显示所有的执行绪
n以数字来表示USER和WCHAN栏位
-N显示所有的程序,除了执行ps指令终端机下的程序之外
-p <程序识别码>指定程序识别码,并列出该程序的状况
r只列出现行终端机正在执行中的程序
-s <阶段作业>列出隶属该阶段作业的程序的状况
s采用程序信号的格式显示程序状况
S列出程序时,包括已中断的子程序资料
-t <终端机编号>列出属于该终端机的程序的状况
-T显示现行终端机下的所有程序
u以用户为主的格式来显示程序状况
-U <用户识别码>列出属于该用户的程序的状况
U <用户名称>列出属于该用户的程序的状况
v采用虚拟内存的格式显示进程状况
-V或V显示版本信息
-w或w采用宽阔的格式来显示进程状况
x显示所有进程,不以终端来区分
X采用旧式的Linux i386登陆格式显示程序状况
-y配合选项”-l”使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位
--cols <每列字符数>设置每列的最大字符数
--headers重复显示标题列
--help在线帮助
--info显示排错信息
--lines <显示列数>设置显示画面的列数

2.3 常用参数

a显示当前终端下的所有进程,包括其他用户的进程
-A所有进程都显示出来
u以用户为主的格式来显示程序状况
f用ASCII字符显示树状结构,表达程序间的相互关系
x显示所有进程,不以终端来区分
e显示进程及环境变量
-l采用详细的格式来显示程序状况

三 参数使用与内容含义

3.1 查看系统当中所有的数据

ps显示所有进程,用wc显示行数,可以看到一共有这么多行,当然也可以加上个more,就可以慢慢看 

[root@localhost ~]# ps aux | wc -l
214

[root@localhost ~]# ps aux |more
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 193912  7008 ?        Ss   15:16   0:02 /usr/lib/systemd/systemd --switched-r
oot --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    15:16   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   15:16   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    15:16   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    15:16   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    15:16   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    15:16   0:00 [rcu_sched]
......

3.1.1 ps aux中状态栏的含义

状态栏内容含义
USER进程的用户发起者
PID进程的PID值,每个进程都有属于自己PID
%CPU进程占用CPU的百分比
%MEM进程占用内存的百分比
VSZ虚拟内存,进程占用虚拟内存大小(单位:KB)
RSS常驻内存,也就是物理内存,进程占用了物理内存大小(单位:KB)
TTY在哪个终端上面运行,?表示与终端没有关系,显示tty1则是在本地上启动的进程
STAT进程的状态,有5个状态
START该process被触发启动的时间
TIME该process实际使用CPU运行的时间
COMMAND该程序的实际指令

3.1.2 STAT进程状态各自代表的含义 

  • R:runing,表示当前正在运行的进程
  • S:sleep,当前正在睡眠的进程
  • T:stopped,当前停止运行的进程
  • D:当前不可中断的进程
  • Z:zombie,僵尸进程,即进程已终止,但却无法被移除至内存外

3.1.3 STAT状态后的内容含义

  • < 表示进程运行在高优先级上
  • N 表示进程运行在低优先级上
  • L 表示进程有页面锁定在内存中
  • s 表示进程是控制进程
  • l 表示进程是多进程
  • +表示当前进程运行在前台

3.2 以更详细的格式显示进程

[root@localhost ~]# ps -Al | more
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0      1      0  0  80   0 - 48478 ep_pol ?        00:00:03 systemd
1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
1 S     0      4      2  0  60 -20 -     0 worker ?        00:00:00 kworker/0:0H
1 S     0      6      2  0  80   0 -     0 smpboo ?        00:00:00 ksoftirqd/0
1 S     0      7      2  0 -40   - -     0 smpboo ?        00:00:00 migration/0
1 S     0      8      2  0  80   0 -     0 rcu_gp ?        00:00:00 rcu_bh
1 S     0      9      2  0  80   0 -     0 rcu_gp ?        00:00:00 rcu_sched

3.2.1 ps lA中状态栏的含义

状态栏内容含义
F进程的旗标 4表示进程权限root 、1表示进程仅仅只能复制,不能执行、0表示进程已经执行结束。
S进程的状态,有五个状态,S 睡眠、T 停止、R 运行、D 不可停止、Z 僵尸进程
UID启用进程的用户UID
PID进程的PID
PPID进程的父进程
CCPU的使用率,单位是百分比
PRIRriority,代表系统内核所设定的优先级,不可修改
NINIce,代表用户可修改的优先级,优先级越低,就越快被CPU执行
ADDR该进程在内存的哪个部分
SZ进程用掉了内存的多少
WCHAN进程是否再运行,若运行为 -
TTY进程是否再当前登录的终端启用的,若不是显示为?
TIME进程使用CPU的时间
COMMAND当前进程的实际指令

 3.3 显示进程的变量和完整的格式

[root@localhost ~]# ps -ef | more
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 15:16 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --d
eserialize 22
root          2      0  0 15:16 ?        00:00:00 [kthreadd]
root          4      2  0 15:16 ?        00:00:00 [kworker/0:0H]
......

3.3.1 ps -ef中状态栏的含义

状态栏含义
UID运行进程的用户
PID进程的PID,唯一值
PPID进程的父进程
C占用CPU的百分比 %
STIME进程启动的时间
TTY启动进程的终端
TIME进程占用CPU的时间
CMD运行进程的指令

 总结

        这个命令要记的参数并不多,可以说常用到的就那么几个,更主要还是要了解这个命令的内容的含义;若觉得以上内容还行的,可以点赞支持一下!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐