Linux ps命令详解,Linux查看进程

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者

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

参数:

  • -e     显示所有进程
  • -f     显示所有字段(UID,PPIP,C,STIME字段)
  • -a     显示一个终端的所有进程
  • -u     显示当前用户进程和内存使用情况
  • -x     显示没有控制终端的进程
  • –sort     按照列名排序

一、常用操作

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

  • ps -ef:查看所有进程
  • ps -aux:查看所有进程
  • ps -ef | grep tomcat:查看指定进程

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

ps -ef

在这里插入图片描述

字段解释:

  • UID:用户ID,即进程的拥有者
  • PID:进程ID
  • PPID:父进程ID
  • C:进程占用的CPU百分比
  • STIME:进程开始启动时间
  • TTY:登入者的终端机位置
  • TIME:进程使用的CPU(运算)时间
  • CMD:调用进程的命令

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

ps -aux

在这里插入图片描述

字段解释:

  • USER:创建进程的用户
  • PID:进程ID
  • %CPU:进程占用CPU的百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用虚拟内存的大小(单位KB)
  • RSS:进程占用实际物理内存的大小(单位KB)
  • TTY:进程在哪个终端运行。
  • STAT:进程状态
  • START:进程开始启动的时间
  • TIME:进程使用的CPU(运算)时间
  • COMMAND:调用进程的命令

3、查看指定进程(grep过滤)

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。

  • tty:表示物理终端,其中tty1~6是本地字符界面终端,tty7是本地图形终端
  • pts:表示虚拟终端,通常指远程连接的终端,范围是pts/0~255,比如第一个远程连接的终端是pts/0,第二个远程连接的终端是pts/1,依次类推。

2、STAT字段(进程状态)

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

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

3、僵尸进程

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

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

### 回答1: ps -ef | grep 命令可以用来查看当前系统中所有进程的信息,其中包括进程。具体操作如下: 1. 打开终端或命令行界面; 2. 输入 ps -ef | grep 进程名(或关键字),例如 ps -ef | grep nginx; 3. 系统会列出所有包含该关键字的进程信息,其中包括进程(PID)。 注意:进程是唯一的,可以用来标识一个进程。在需要操作或管理进程时,需要知道其进程。 ### 回答2: 在Linux系统中,进程是指正在运行的程序实例,其有着独立的内存空间、环境变量以及运行状态,一个进程可以包含多个线程。而使用ps -ef | grep命令可以查看进程,其实是通过在系统中执行一个过滤命令来获取我们所需要的信息。 其实,ps命令是用于列出系统中所有进程的命令,包括正在运行的和已经终止的进程,一般使用ps -ef的形式来运行。其中,e选项用于显示所有进程(包括其他终端的进程),而f选项则会将进程的关系以树形结构的形式展示出来,这样我们就可以清楚地看到哪些进程是被其它进程所生成的,结合grep命令就可以对进程进行过滤,只显示出我们所需要的进程相关信息。 具体地说,我们可以通过在终端中输入如下命令来查看我们想要的进程ps -ef | grep "进程名" 这里,进程名可以是任何进程名称或进程ID,例如,我们要查看所有关于Python的进程,可以执行: ps -ef | grep "python" 而如果我们要查看指定名称的进程,例如nginx,可以使用: ps -ef | grep "nginx" 通过上述操作,我们就可以轻松地获取到相应进程进程。 另外,我们还可以使用kill命令来杀死一个进程。例如,假设我们要杀掉进程为123的进程,我们可以使用: kill 123 总之,ps -ef | grep命令是一项非常实用的命令,可以帮助我们快速地获取到系统中特定进程进程,进而进行其他操作。 ### 回答3: Linux系统中,ps命令是一个常用的工具,它用来查看系统中运行的进程。而grep命令则是一个过滤工具,它可通过正则表达式来过滤出需要的信息。用ps -ef | grep命令则可以将所有进程信息列出,并通过grep工具来过滤出指定的进程。 具体来说,使用ps -ef命令可以列出系统中所有进程的详细信息,包括进程、用户、进程的CPU占用率、进程的内存占用率、进程开始运行的时间等等。但是,当我们需要查找某个特定进程时,我们可以通过管道符(|)连接grep命令来过滤出我们需要的信息。 例如,我们想查找名为nginx的进程,我们可以输入ps -ef | grep nginx命令来查找。在这个命令中,ps -ef用来列出所有进程的信息,grep则用来过滤出包含nginx关键字的行。这样,我们就能找到所有名为nginx的进程查看进程。 需要注意的是,在Linux系统下,每个进程都有一个唯一的进程,也称为PID。PID是由系统自动为每个进程分配的数字,用来标识进程。在使用ps -ef | grep命令查找进程时,我们可以通过查找PID来确定指定特定的进程。 综上,使用ps -ef | grep命令可以方便地查找指定的进程,并查看进程。这对于系统管理员或其他需要管理系统进程的人来说非常重要。同时,也非常重要的是,我们在使用该命令时需要谨慎操作,避免误操作引起的安全问题。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日wyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值