<ins id='h96cn'></ins>

<i id='h96cn'></i>

  • <acronym id='h96cn'><em id='h96cn'></em><td id='h96cn'><div id='h96cn'></div></td></acronym><address id='h96cn'><big id='h96cn'><big id='h96cn'></big><legend id='h96cn'></legend></big></address>
  • <dl id='h96cn'></dl>
  • <tr id='h96cn'><strong id='h96cn'></strong><small id='h96cn'></small><button id='h96cn'></button><li id='h96cn'><noscript id='h96cn'><big id='h96cn'></big><dt id='h96cn'></dt></noscript></li></tr><ol id='h96cn'><table id='h96cn'><blockquote id='h96cn'><tbody id='h96cn'></tbody></blockquote></table></ol><u id='h96cn'></u><kbd id='h96cn'><kbd id='h96cn'></kbd></kbd>
  • <span id='h96cn'></span>

      <code id='h96cn'><strong id='h96cn'></strong></code>

            <i id='h96cn'><div id='h96cn'><ins id='h96cn'></ins></div></i>
            <fieldset id='h96cn'></fieldset>

            Linux下ps命令的10个基本例子

            • 时间:
            • 浏览:12
            • 来源:124软件资讯网

                在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那样快速更新 。