当前位置: 首页 > news >正文

Linux中 ps命令详解

一、基础概念

指令: ps

作用:查看系统进程,比如正在运行的进程有哪些,什么时候开始运行的,哪个用户运行的,占用了多少资源。

参数:

  • -e     显示所有进程
  • -f     显示所有字段(UID,PPIP,C,STIME字段)
  • -h    不显示标题
  • -l     长格式
  • -w    宽输出
  • -a     显示一个终端的所有进程
  • -r    只显示正在运行的进程。
  • -u    显示当前用户进程和内存使用情况
  • -x    显示没有控制终端的进程
  • –sort     按照列名排序

二、常用操作

ps命令常用的方式有三种:

  • ps -ef:查看所有进程
  • ps -aux:查看所有进程
  • ps -ef | grep tomcat:查看指定进程(| 符号,是个管道符号,表示ps grep 命令同时执行)

1、查看所有进程(连带命令行)

ps -ef

字段解释:

  • UID:用户ID,即进程的拥有者
  • PID:进程ID
  • PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程
  • C:cpu的占用率,形式是百分数(%
  • STIME:进程开始启动时间
  • TTY:终端设备,发起该进程的设备识别符号,如果显示表示该进程并不是由终端发起
  • TIME:进程的执行时间
  • CMD:该进程的名称或对应的路径

2、显示所有包含其他使用者的进程

ps -aux

字段解释:

USER:创建进程的用户

PID:进程ID

%CPU:进程占用CPU的百分比

%MEM:进程占用物理内存的百分比

VSZ:进程占用虚拟内存的大小(单位KB)

RSS:进程占用实际物理内存的大小(单位KB)

TTY:进程在哪个终端运行。

STAT:进程状态

START:进程开始启动的时间

TIME:进程使用的CPU(运算)时间

COMMAND:调用进程的命令

3、查看指定进程(grep过滤,grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来

ps -ef 通常会配合 grep 来过滤指定的进程,比如

搜索 mysql 的进程:ps -ef | grep mysql

搜索 tomcat 的进程:ps -ef | grep tomcat

4、查看CPU/内存占用率最高的进程

1)查看进程的时候,让进程按照CPU使用率排序,然后展示前10行,就能清晰地看到哪些进程占用的资源比较多。

PS1:head -11 是因为标题也算一行

PS2+-号可以调整排序,-pcpu 表示降序,+pcpu 表示升序

ps -aux --sort=-pcpu | head -11

2)同理,把 -pcpu 换成 -pmem,就能查看内存使用最多的10个进程。

ps -aux --sort=-pmem | head -11

3)如果不限制行数,也可以使用 sort 按照指定的列排序

降序:

ps -aux | sort -nk 4 -r

升序:

ps -aux | sort -nk 4

5、查看指定用户的进程

查看某个用户开启了哪些进程,可以使用 -u 参数指定用户名,比如,查看root用户的进程有哪些:

ps -u root -ef

6、分页查看进程

除了 grep 外,还可以配合 more 分页查看进程:ps -ef | more

翻页的操作同 more 命令,q键退出,空格键翻页

三、拓展

1、TTY字段(终端类型)

TTY字段表示运行进程的终端是哪个,这里的终端类型有两种:tty和pts。

2、STAT字段(进程状态)

STAT字段表示进程的状态,常见的状态有以下几种:

  • D:睡眠状态(不可被唤醒),常用于I/O情况。
  • R:进程正在运行
  • S:睡眠状态(可被唤醒)
  • T:停止状态
  • W:内存交互状态
  • Z:僵尸进程(不存在但暂时无法消除)
  • <:高优先级
  • N:低优先级
  • L:被锁入内存
  • s:包含子进程
  • l:多线程
  • +:位于后台

3、僵尸进程

进程由于非正常停止或程序编写错误,导致子进程比父进程先结束,而父进程又没有正常回收子进程,使子进程一直在内存中,导致资源浪费。这种情况就是僵尸进程。

PS:正常情况下应该是父进程先结束,然后子进程由init接管,init 结束子进程并回收对应的资源。

相关文章:

  • 为什么努力学模电依然学不好的原因?
  • 【NLP经典论文阅读】Efficient Estimation of Word Representations in Vector Space(附代码)
  • Ubuntu系统设置
  • 迪赛智慧数——柱状图(正负条形图):“光棍”排行榜TOP10省份
  • DiskGenius功能强大的磁盘管理工具可以恢复硬盘被删除的数据吗?
  • TongWeb上传文件功能介绍
  • 实验4 Matplotlib数据可视化
  • 量子运算-比算子描述更广泛的一类刻画量子态在客观世界演化的数学工具
  • 应急响应/入侵排查
  • Parasoft帮助中移智行顺利获得A-SPICE L3和ISO26262功能安全认证证书
  • 2023年泰迪杯数据挖掘挑战赛B题--产品订单数据分析与需求预测(数据处理)
  • ChatGPT使用案例之画思维导图
  • Xilinx JESD204B IP使用
  • TimeQuest时序路径详解
  • 一文了解Jackson注解@JsonFormat及失效解决
  • MagicalCoder可视化开发平台:轻松搭建业务系统,为企业创造更多价值
  • 发光立方体效果 html+css
  • 【C++】用手搓的红黑树手搓set和map
  • 嵌入式常使用的库函数
  • 基于深度学习的车型识别系统(Python+清新界面+数据集)