iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下ps命令怎么用
  • 917
分享到

Linux下ps命令怎么用

2023-06-13 04:06:06 917人浏览 八月长安
摘要

小编给大家分享一下linux下ps命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提

小编给大家分享一下linux下ps命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息。但是,即使是功能和输出简单,但它仍然是一个必用的过程管理/监控工具,每一个Linux新手应该知道这一点,好好学习。在这篇文章中,我们将使用ps命令以不同的方式来查看进程、筛选和排序它们,以加强基础部分。

语法注意:

ps命令带有2种不一样的风格,分别是BSD和UNIX。新用户经常会混淆和错误地解释这两种风格。所以要弄清楚他们,继续操作之前这里是一些基本的信息。

注意:"ps aux"和"ps -aux"不相同。例如"-u"用来显示该用户的进程。但是"u"则是显示详细的信息。

BSD风格:在BSD风格的语法选项前不带连字符。

ps aux

UNIX/LINUX的风格:在linux风格的语法选项前面有一个破折号如常。…

ps -ef 混合使用两种Linux系统上的语法风格是好事儿。例如“ps ax -f”。但在这篇文章中,我们将主要集中在UNIX风格的语法。

如何使用ps命令呢?

1、显示所有进程:

下面的命令将列出所有的进程:

代码如下:


$ ps ax
$ ps -ef

加上管道输出给less,来滚动显示

"u"或者"-f"参数来显示所有进程的详细信息

代码如下:


___FCKpd___0nbsp;ps aux
___FCKpd___0nbsp;ps -ef -f

注意:为什么用户列不显示我的用户名,但显示其他用户,如root、www等,对于所有的用户名(包括你)如果长度大于8个字符,然后ps将只显示UID,而不是用户名。

2、根据用户显示进程:

由进程的所属用户使用“-u”选项后跟用户名来显示。多个用户名可以提供以逗号分隔。

代码如下:


___FCKpd___1nbsp;ps -f -u www-data
UID        PID  PPID  C STIME TTY          TIME CMD
www-data  1329  1328  0 09:32 ?        00:00:00 Nginx: worker process
www-data  1330  1328  0 09:32 ?        00:00:00 nginx: worker process
www-data  1332  1328  0 09:32 ?        00:00:00 nginx: worker process
www-data  1377  1372  0 09:32 ?        00:00:00 PHP-fpm: pool a.localhost                                                
www-data  1378  1372  0 09:32 ?        00:00:00 php-fpm: pool a.localhost                                                
www-data  4524  2359  0 10:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  4527  2359  0 10:03 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  4528  2359  0 10:03 ?        00:00:00 /usr/sbin/apache2 -k start

3、通过名字和进程ID显示进程:

通过名字或命令搜索进程,使用“-C”选项后面加搜索词。

代码如下:


___FCKpd___2nbsp;ps -C apache2
 PID TTY          TIME CMD
2359 ?        00:00:00 apache2
4524 ?        00:00:00 apache2
4525 ?        00:00:00 apache2
...

4、根据CPU或者内存进行排序:

系管理员经常希望找出那些消耗大量内存或CPU的进程。排序选项将基于特定的字段或参数让进程列表进行排序。

“–sort”选项由逗号分隔的多个字段可以用指定。此外,该字段可以带有前缀“-”或“”符号,表示降序或升序分别排序。通过进程列表进行排序有很多参数,你可以检查手册页的完整列表。

___FCKpd___3nbsp;ps aux --sort=-pcpu,+pmem
显示前5个消耗了大部分的CPU进程。

代码如下:


___FCKpd___4nbsp;ps aux --sort=-pcpu | head -5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  2.6  0.7  51396  7644 ?        Ss   02:02   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
root      1249  2.6  3.0 355800 30896 tty1     Rsl+ 02:02   0:02 /usr/bin/X -background none :0 vt01 -nolisten tcp
root       508  2.4  1.6 248488 16776 ?        Ss   02:02   0:03 /usr/bin/python /usr/sbin/firewalld --nofork
silver    1525  2.1  2.3 448568 24392 ?        S    02:03   0:01 /usr/bin/Python /usr/share/system-config-printer/applet.py

5、用树的风格显示进程的层次关系:

许多进程实际上是一些父进程分的分支,知道这父子进程关系往往是有用的。在'–forest'选项将建立ASCII艺术风格层次的树视图。

下面的命令将搜索进程名字为Apache2,形成一个树结构来显示详细的信息。

代码如下:


___FCKpd___5nbsp;ps -f --forest -C apache2
UID        PID  PPID  C STIME TTY          TIME CMD
root      2359     1  0 09:32 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  4524  2359  0 10:03 ?        00:00:00  \_ /usr/sbin/apache2 -k start
www-data  4525  2359  0 10:03 ?        00:00:00  \_ /usr/sbin/apache2 -k start
www-data  4526  2359  0 10:03 ?        00:00:00  \_ /usr/sbin/apache2 -k start
www-data  4527  2359  0 10:03 ?        00:00:00  \_ /usr/sbin/apache2 -k start
www-data  4528  2359  0 10:03 ?        00:00:00  \_ /usr/sbin/apache2 -k start

尽量不要使用任何的排序和树风格一起展示,因为他们使用了不同的顺序。

6、显示一个父进程的子进程:

这里有一个例子显示所有apache进程的分支

代码如下:


___FCKpd___6nbsp;ps -o pid,uname,comm -C apache2
 PID USER     COMMAND
2359 root     apache2
4524 www-data apache2
4525 www-data apache2
4526 www-data apache2
4527 www-data apache2
4528 www-data apache2
[term]
The first process that is owned by root is the main apache2 process and all other apache2 processes have been forked out of this main process. The next command lists all child apache2 processes using the pid of the main apache2 process
[term]
___FCKpd___6nbsp;ps --ppid 2359
PID TTY       TIME CMD
4524 ?        00:00:00 apache2
4525 ?        00:00:00 apache2
4526 ?        00:00:00 apache2
4527 ?        00:00:00 apache2
4528 ?        00:00:00 apache2

7、显示一个进程的线程:

“-L”选项将显示进程的线程。它可以用来显示特定进程的所有线程或者所有进程。

下面的命令将显示所有id为3150的进程所拥有的线程。

代码如下:


___FCKpd___7nbsp;ps -p 3150 -L

8、改变要显示的列:

ps命令可以配置为只显示选中的列表。为了显示完整列表可以查看手册。

下面的命令只显示PID,用户名,CPU,内存和命令的列。

代码如下:


___FCKpd___8nbsp;ps -e -o pid,uname,pcpu,pmem,comm

可以重命名列标签,相当的灵活。

代码如下:


___FCKpd___9nbsp;ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm
PID USERNAME CPU_USAGE %MEM COMMAND
1 root           0.0  0.0 init
2 root           0.0  0.0 kthreadd
3 root           0.0  0.0 ksoftirqd/0
4 root           0.0  0.0 kworker/0:0
5 root           0.0  0.0 kworker/0:0H
7 root           0.0  0.0 migration/0
8 root           0.0  0.0 rcu_bh
9 root           0.0  0.0 rcuob/0
10 root           0.0  0.0 rcuob/1

9、显示进程运行的时间:

表示进程的运行时间。对于运行的时间,列默认情况下是不显示的,可以使用“-O”选项查看。

代码如下:


___FCKpd___10nbsp;ps -e -o pid,comm,etime

10、把ps命令变成一个实时查看器:

像往常一样,watch命令可以用来实时捕捉ps显示进程。简单的例子如下:

代码如下:


___FCKpd___11nbsp;watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

输出在桌面上像这样:

代码如下:


Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --...  Sun Dec  1 18:16:08 2013
PID USER     CMD                         %MEM %CPU
3800 1000     /opt/Google/chrome/chrome -  4.6  1.4
7492 1000     /opt/google/chrome/chrome -  2.7  1.4
3150 1000     /opt/google/chrome/chrome    2.7  2.5
3824 1000     /opt/google/chrome/chrome -  2.6  0.6
3936 1000     /opt/google/chrome/chrome -  2.4  1.6
2936 1000     /usr/bin/plasma-desktop      2.3  0.2
9666 1000     /opt/google/chrome/chrome -  2.1  0.8
3842 1000     /opt/google/chrome/chrome -  2.1  0.8
4739 1000     /opt/google/chrome/chrome -  1.8  1.0
3930 1000     /opt/google/chrome/chrome -  1.7  1.0
3911 1000     /opt/google/chrome/chrome -  1.6  0.6
3645 1000     /opt/google/chrome/chrome -  1.5  0.4
3677 1000     /opt/google/chrome/chrome -  1.5  0.4
3639 1000     /opt/google/chrome/chrome -  1.4  0.4

输出将被刷新,每1秒刷新统计数据。不过不要以为这是类似上面。

你会注意到在相比情况下top/htop命令的输出变化会更加频繁。

这是因为上面输出各种各样的值,CPU使用率和内存使用情况的组合。但上述ps命令排序显示的更简单,采取的是一个时间1列(如学校数学).所以它不会像top那样快速更新。

以上是“Linux下ps命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux下ps命令怎么用

本文链接: https://www.lsjlt.com/news/264954.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下ps命令怎么用
    小编给大家分享一下Linux下ps命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提...
    99+
    2023-06-13
  • linux中ps命令怎么用
    这篇文章将为大家详细讲解有关linux中ps命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小知识(以ps为例):查看命令路径  which ps 命令帮助 ps --help命令完全手...
    99+
    2023-06-09
  • Linux常用命令ps怎么用
    这篇文章主要介绍了Linux常用命令ps怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux常用命令ps (英文全拼:process status)命令用于显示当前...
    99+
    2023-06-28
  • Linux下的分析进程命令PS怎么用
    这篇文章将为大家详细讲解有关Linux下的分析进程命令PS怎么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当我们在Linux系统下要对进程进行监测和控制时,首先必须要了解当前进程的情况,...
    99+
    2023-06-05
  • Linux ps命令有什么用
    这篇文章跟大家分析一下“Linux ps命令有什么用”。内容详细易懂,对“Linux ps命令有什么用”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux ps命令有什么用”...
    99+
    2023-06-28
  • 怎么在Linux中使用ps命令
    怎么在Linux中使用ps命令?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在...
    99+
    2023-06-13
  • Linux中ps命令有什么用
    小编给大家分享一下Linux中ps命令有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令ps命令 用于报告当前系统的进程状态。可以搭配kil...
    99+
    2023-06-28
  • Linux下date命令怎么用
    小编给大家分享一下Linux下date命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!显示时间是个常用的命令,在写shell脚本中也经常会用到与日期相关文...
    99+
    2023-06-12
  • Linux下sort命令怎么用
    这篇文章主要为大家展示了“Linux下sort命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下sort命令怎么用”这篇文章吧。sort 是 Linux 的排序命令,而且可以依...
    99+
    2023-06-27
  • Linux下timeout命令怎么用
    小编给大家分享一下Linux下timeout命令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!timeout是一个命令行实用程序,它运行指定的命令,如果在给定的时间段后仍在运行,则终止该命令。timeout命令是GN...
    99+
    2023-06-28
  • linux下wget命令怎么用
    小编给大家分享一下linux下wget命令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、使用wget下载单个文件以下的例子是从网络下载一个文件并保存在当前目录wget http://cn.wordpre...
    99+
    2023-06-21
  • Linux下zcat命令怎么用
    小编给大家分享一下Linux下zcat命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。...
    99+
    2023-06-28
  • Linux中如何使用ps命令
    这篇文章主要介绍Linux中如何使用ps命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!(cpu)使用量,观察进程信息:     ...
    99+
    2024-04-02
  • Linux下ls命令怎么用
    这篇文章给大家分享的是有关Linux下ls命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。假如我们有这样的一个文件夹,我们用tree命令查看它的目录结构:用法1:列出/home/alvin/test_di...
    99+
    2023-06-15
  • Linux下man命令怎么用
    这篇文章主要为大家展示了“Linux下man命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下man命令怎么用”这篇文章吧。man就是manual的缩写,用来查看系统中自带的各...
    99+
    2023-06-17
  • Linux下Findmnt命令怎么用
    小编给大家分享一下Linux下Findmnt命令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Findmnt 命令用于查找挂载的文件系统。它用来列出安装设备,当需要时也可以挂载或卸载设备,它是 util-linux ...
    99+
    2023-06-27
  • Linux下ip命令怎么用
    这篇文章主要介绍了Linux下ip命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用i...
    99+
    2023-06-28
  • Linux下tree命令怎么用
    这篇文章给大家分享的是有关Linux下tree命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_col...
    99+
    2023-06-28
  • Linux下more命令怎么用
    小编给大家分享一下Linux下more命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在 Linux 环境下工作时,每天肯定会跟各种各样的文本文件打交...
    99+
    2023-06-27
  • Linux下journalctl命令怎么用
    这篇文章主要为大家展示了“Linux下journalctl命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下journalctl命令怎么用”这篇文章吧。日志管理工具journa...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作