当前位置:K88软件开发文章中心电脑基础基础应用03 → 文章内容

Linux ps命令例子汇总

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-1-30 23:05:58

  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”用户名来显示。多个用户名可以提供以逗号分隔。  $ 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”由逗号分隔的多个字段可以用指定。此外,该字段可以带有前缀&l“rdquo;或&l”dquo;符号,表示降序或升序分别排序。通过进程列表进行排序有很多参数,你可以检查手册页的完整列表。  $ 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=128”target=“_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  尽量不要使用任何的排序和树风格一起展示,因为他们使用了不同的顺序。      以上是华军小编总结的方法,希望能帮助到朋友们!了解更多资讯尽在华军软件园! 

Linux ps命令例子汇总