Linux ps 命令
linux的ps命令是一个查看系统运行的进程的一个最基础的工具。它提供了一个当前进程的快照,还带有一些具体的信息,比如用户id,cpu使用率,内存使用,命令名等,它不会像top或者htop一样实时显示数据。虽然它在功能和输出上更加简单,但它仍然是每个linux新手需要了解和学好的必要进程管理/检测工具。在本篇中,我们会学习ps命令基本的用法:查找、过滤,以不同的方式排序。
语法说明
ps命令有两种不同风格的语法规则:BSD风格和UNIX风格。Linux新手经常感到困惑并会误解这两种风格,所以在继续下一步之前,我们来弄清楚一些基本的信息。
注意: "ps aux"不等同于"ps -aux"。比如"-u"用于显示用户的进程,但是"u"意味着显示具体信息。
BSD 形式 - BSD形式的语法的选项前没有破折号,如:ps auxUNIX/LINUX 形式 - linux形式的语法的选项前有破折号,如:ps -ef
在linux系统上混合这两种语法是可以的。比如 "ps ax -f"。但是本章中我们主要讨论UNIX形式语法。
如何使用ps命令
1. 显示所有进程
下面的命令可以显示所有进程的列表。$ ps ax$ ps -ef通过管道输出到"less"可以分页。使用"u"或者"-f"选项可以显示进程的具体信息。$ ps aux$ ps -ef -f
为什么USER列显示的不是我的用户名,但是其他的像root,www-data等却显示? 对于所有的用户(包括你们的),如果长度大于8个字符,那么ps只会显示你的UID而不是用户名。
2. 显示用户进程
使用"-u"选项后跟用户名来过滤所属用户的进程。多个用户名可以用逗号分隔。$ ps -f -u www-dataUIDPIDPPIDC STIME TTYTIME CMDwww-data132913280 09:32 ?00:00:00 nginx: worker processwww-data133013280 09:32 ?00:00:00 nginx: worker processwww-data133213280 09:32 ?00:00:00 nginx: worker processwww-data137713720 09:32 ?00:00:00 php-fpm: pool a.localhost www-data137813720 09:32 ?00:00:00 php-fpm: pool a.localhost www-data452423590 10:03 ?00:00:00 /usr/sbin/apache2 -k startwww-data452723590 10:03 ?00:00:00 /usr/sbin/apache2 -k startwww-data452823590 10:03 ?00:00:00 /usr/sbin/apache2 -k start
3. 通过名字或者进程id显示进程
通过"-C"选项后面加上名字或者命令来搜索进程。$ ps -C apache2PID TTYTIME CMD 2359 ?00:00:00 apache2 4524 ?00:00:00 apache2 4525 ?00:00:00 apache2...要通过进程id显示进程,就使用"-p"选项,并且还可以通过逗号分隔来指定多个进程id。$ ps -f -p 3150,7298,6544"-C"必须提供精确的进程名,并且它并不能通过部分名字或者通配符查找。为了更灵活地搜索进程列表,通常使用grep命令。$ ps -ef | grep apache
4. 通过cpu或者内存使用排序进程
系统管理员通常想要找出那些消耗最多内存或者CPU的进程。排序选项会基于特定的字段或者参数来排序进程列表。可以用"--sort"指定多个字段,并用逗号分割。除此之外,字段前面还可以跟上"-"或者"+"的前缀来相应地表示递减和递增排序。这里有很多的用于排序的选项,通过man页来获取完整的列表。$ ps aux --sort=-pcpu,+pmem显示前5名最耗cpu的进程。$ ps aux --sort=-pcpu | head -5USER PID %CPU %MEMVSZ RSS TTYSTAT START TIME COMMANDroot 12.60.7513967644 ?Ss 02:02 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23root12492.63.0 355800 30896 tty1 Rsl+ 02:02 0:02 /usr/bin/X -background none :0 vt01 -nolisten tcproot 5082.41.6 248488 16776 ?Ss 02:02 0:03 /usr/bin/python /usr/sbin/firewalld --noforksilver15252.12.3 448568 24392 ?S02:03 0:01 /usr/bin/python /usr/share/system-config-printer/applet.py
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-12/93799p2.htm
推荐阅读:Linux流量监控工具 – iftop http://www.linuxidc.com/Linux/2013-08/89102.htmLinux top 命令详解 http://www.linuxidc.com/Linux/2013-06/85626.htmLinux下top命令 http://www.linuxidc.com/Linux/2013-04/83151.htmLinux下高效的使用 top 命令 http://www.linuxidc.com/Linux/2013-04/82676.htmLinux系统top命令详解 http://www.linuxidc.com/Linux/2012-12/76750.htmLinux 系统监控负载top命令详解 http://www.linuxidc.com/Linux/2012-10/72756.htm
在 Windows 平台上打造出你的 Linux 开发环境CentOS 6.4使用本地yum源相关资讯 ps命令
- Linux下使用ps命令来查看Oracle相 (07/11/2012 09:41:50)
本文评论 查看全部评论 (0)