发布时间:2014-09-05 16:46:14作者:知识屋
常用参数:
a 显示所有用户的所有进程(包括其它用户);
u 按用户名和启动时间的顺序来显示进程;
x 显示无控制终端的进程;
e 显示所有进程,包括没有控制端的进程;
f 用树形格式来显示进程;
l 长格式输出;
w 为了避免详细参数被截断,可以用多个w来让其显示完整(比如说ww或者是www);
o 需要查看的选项
常用的是aux ef
下面介绍一下ps输出的参数内容
USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,也就是进程的优先值(-20~19之间),数值越大,优先级越底;
VSZ 进程虚拟大小;
RS 驻留中页的数量;
TTY 终端ID。问号表示是无终端的,也就是系统本身。
STAT 进程状态
D Uninterruptible sleep (usually IO)
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ 位于后台的进程组;
WCHAN 正在等待的进程资源;
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;
ps应用举例
ps aux |more
因为ps aux显示出来的内容太多,所以可以接管道,来分页查看或者是把结果生成文件
pa aux > ps.file
查询某个程序的进程
ps aux |grep httpd
如
[root@yufei ~]# ps aux |grep httpd
root 1470 0.0 4.1 281892 10220 ? Ss 19:50 0:00 /usr/sbin/httpd
apache 1494 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1495 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1496 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1497 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1498 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1499 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1500 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
apache 1501 0.0 2.2 281892 5548 ? S 19:50 0:00 /usr/sbin/httpd
root 1613 0.0 0.3 103232 872 pts/0 S+ 19:52 0:00 grep httpd
显示某个程序的进程树情况
ps auxf |grep httpd
下面是例子
[root@yufei ~]# ps auxf |grep httpd
root 1615 0.0 0.3 103228 864 pts/0 S+ 19:53 0:00 /_ grep httpd
root 1470 0.0 4.1 281892 10220 ? Ss 19:50 0:00 /usr/sbin/httpd
apache 1494 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1495 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1496 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1497 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1498 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1499 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1500 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
apache 1501 0.0 2.2 281892 5548 ? S 19:50 0:00 /_ /usr/sbin/httpd
从上面的结果,我们可以很清楚的看到,apache用户的进程全部是由/usr/sbin/httpd来而的,所以只要停止掉他,那么其他的进程也就自动停止了。
[root@yufei ~]# kill 1470
[root@yufei ~]# ps auxf |grep httpd
root 1617 0.0 0.3 103228 864 pts/0 S+ 19:56 0:00 /_ grep httpd
我们发现httpd这个进程已经没有了。
显示进程的某些选项
ps axo pid,%cpu,%mem,comm |grep httpd
先来启动httpd
[root@yufei ~]# service httpd start
Starting httpd: [ OK ]
下面就是查看某个进程的某些选项
[root@yufei ~]# ps axo pid,%cpu,%mem,comm |grep httpd
1628 0.0 4.1 httpd
1630 0.0 2.2 httpd
1631 0.0 2.2 httpd
1632 0.0 2.2 httpd
1633 0.0 2.2 httpd
1634 0.0 2.2 httpd
1635 0.0 2.2 httpd
1636 0.0 2.2 httpd
1637 0.0 2.2 httpd
是不是很方便,很实用啊!
这里,我们还需要来了解一下什么是僵尸进程。通常,造成僵尸进程的成因是因为该进程应该已经执行完毕,或者是因故应该要终止了, 但是该进程的父进程却无法完整的将该进程结束掉,而造成那个进程一直存在内存当中。如果你发现在某个进程的CMD 后面还接上<defunct> 时,就代表该进程是僵尸进程。当系统不稳定的时候就容易造成所谓的僵尸进程。也有可能是因为程序写的不完善,或者是使用者的操作习惯不良等等所造成。如果你发现系统中很多僵尸进程时,记得要找出该进程的父进程,然后做个跟踪排除问题!
摘自 羽飞博客
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能