Linux ps命令例子汇总

2016-02-20 04:54 32 1 收藏

下面是个简单易学的Linux ps命令例子汇总教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Linux教程 】

Linux ps命令主要用于查看系统运行的进程,确定进程运行的状态机是否占用过多资源等?下面图老师小编通过实例来给大家详细介绍下Linux的ps命令,一起来了解下吧。

 Linux ps命令例子汇总

Linux提供了当前进程的同时,如用户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在这篇文章中,我们将主要集中在UNIX风格的语法。

如何使用ps命令呢?

1、显示所有进程:

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

$ ps ax

$ ps -ef

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

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

$ ps aux

$ ps -ef -f

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

2、根据用户显示进程:

由进程的所属用户使用&l&rdq用户名来显示。多个用户名可以提供以逗号分隔。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

$ 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显示进程:

通过名字或命令搜索进程,使用&l&rdq加搜索词。

$ 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&r由逗号分隔的多个字段可以用指定。此外,该字段可以带有前缀&lrdquo;或“符号,表示降序或升序分别排序。通过进程列表进行排序有很多参数,你可以检查手册页的完整列表。

$ ps aux --sort=-pcpu,+pmem

显示前5个消耗了大部分的CPU进程。

$ 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/《span id=3_nwp style=width: auto; height: auto; float: none;》《a id=3_nwl href=http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2E21ops%2Ecom%2Flinux%2F5623%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=98031099_cpr&k=python&k0=chrome&kdi0=8&k1=linux&kdi1=1&k2=%BC%E0%BF%D8&kdi2=1&k3=python&kdi3=1&k4=sun&kdi4=1&k5=%B1%EA%C7%A9&kdi5=8&sid=e31bc2f843262db&ch=0&tu=u1836738&jk=8c16c9b871dfd19d&cf=29&fv=11&stid=9&urlid=0&luki=4&seller_id=1&di=128target=_blank mpid=3 style=text-decoration: none;》《span style=color:#0000ff;font-size:14px;width:auto;height:auto;float:none;》python《/span》《/a》《/span》 /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,形成一个树结构来显示详细的信息。

$ 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进程的分支

$ 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]

$ 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&r将显示进程的线程。它可以用来显示特定进程的所有线程或者所有进程。

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

$ ps -p 3150 -L

8、改变要显示的列:

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

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

$ ps -e -o pid,uname,pcpu,pmem,comm

可以重命名列标签:

$ 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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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、显示进程运行的时间:

表示进程的运行时间。对于运行的时间,列默认情况下是不显示的,可以使用&l&rdq。

$ ps -e -o pid,comm,etime

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

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

$ 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/《span id=0_nwp style=width: auto; height: auto; float: none;》《a id=0_nwl href=http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2E21ops%2Ecom%2Flinux%2F5623%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=98031099_cpr&k=chrome&k0=chrome&kdi0=8&k1=linux&kdi1=1&k2=%BC%E0%BF%D8&kdi2=1&k3=python&kdi3=1&k4=sun&kdi4=1&k5=%B1%EA%C7%A9&kdi5=8&sid=e31bc2f843262db&ch=0&tu=u1836738&jk=8c16c9b871dfd19d&cf=29&fv=11&stid=9&urlid=0&luki=1&seller_id=1&di=128target=_blank mpid=0 style=text-decoration: none;》《span style=color:#0000ff;font-size:14px;width:auto;height:auto;float:none;》chrome《/span》《/a》《/span》/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/《span id=1_nwp style=width: auto; height: auto; float: none;》《a id=1_nwl href=http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2E21ops%2Ecom%2Flinux%2F5623%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=98031099_cpr&k=chrome&k0=chrome&kdi0=8&k1=linux&kdi1=1&k2=%BC%E0%BF%D8&kdi2=1&k3=python&kdi3=1&k4=sun&kdi4=1&k5=%B1%EA%C7%A9&kdi5=8&sid=e31bc2f843262db&ch=0&tu=u1836738&jk=8c16c9b871dfd19d&cf=29&fv=11&stid=9&urlid=0&luki=1&seller_id=1&di=128target=_blank mpid=1 style=text-decoration: none;》《span style=color:#0000ff;font-size:14px;width:auto;height:auto;float:none;》chrome《/span》《/a》《/span》/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那样快速更新。

来源:http://www.tulaoshi.com/n/20160220/1638069.html

延伸阅读
标签: 电脑入门
Linux下要实现两台服务器之间的文件传送,使用scp命令就可以了,在Linux系统中,scp命令的用法简单而又实用,系统之家就给大家介绍下如何使用scp命令进行Linux服务器之间的文件传送。 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能...
标签: 电脑入门
了解过Linux命令的都知道df命令能够查看Linux磁盘的空间,本文将通过实例来给大家详细介绍下df命令的具体用法,以便你有个了解。 Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件...
标签: 电脑入门
今天图老师小编给大家分享下Linux系统命令大全,包含了所有经典、常用的命令,比如关机重启命令,磁盘管理命令等,菜鸟入门必备。 本节内容: Linux常用命令大全 1,系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS /...
标签: 电脑入门
Linux下chkconfig命令主要用于查询系统在每一个执行等级中执行的系统服务,那么chkconfig命令要如何使用呢?下面图老师小编就给大家介绍下Linux中chkconfig命令的具体用法。 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 使用语法 ...
标签: 电脑入门
Linux系统中,lsof命令可用于查找应用程序打开的文件名称和数量,除此之外,losf命令还有很多用法,下面系统之家的图老师小编就给大家介绍下Linux中lsof命令的用法实例,一起来看看吧。 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问...

经验教程

481

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部