加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Linux下ps-ef和ps-aux的区别和格式详解

(2017-09-30 10:26:54)
标签:

ps命令详解

ps-ef命令用法

ps-aux命令用法

ps-ef和ps-aux命令区

分类: Linux学习
       Linux下显示系统进程的命令为ps,最常用的有ps -ef 和ps -aux。那这两个到底有什么区别呢?两者之间的差别不大,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者的输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

ps命令

      要对进程进行监测和控制,首先必须要了解当前进程的情况,就需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸,哪些进程占用了过多的资源等等。总之大部分信息都可以通过该命令得到。
       ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。
ps命令参数使用介绍如下:
1.ps a:显示现行终端机下的所有程序,包括其他用户的程序。
2.ps -A:显示所有程序
3.ps c:列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示
4.ps -e:此参数的效果和执行“A”参数相同
5.ps e:列出程序时,显示每个程序所使用的环境变量
6.ps f:用ASCLL字符显示树状结构,表达程序间的相互关系
7.ps -H:显示树状结构,表示程序间的相互关系
8.ps -N:显示所有的程序,除了执行ps指令终端机下的程序之外
9.ps s:采用程序信号的格式显示程序状况
10.ps S:列出程序时,包括已中断的子程序资料
11.ps -t:<终端机编号>指定终端机编号,并列出属于该终端机的程序的状况
12.ps u:以用户为主的格式来显示程序状况
13.ps x:显示所有程序,不以终端机来区分
      最常用的方法是ps -aux,然后在利用一个管道符号导向到grep去查找特定的进程,然后在对特定的进程进行操作。

一、ps -ef 命令
ps -ef 是用标准的格式显示进程的,其格式如下:
Linux下ps-ef和ps-aux的区别和格式详解

其中各列的内容意思如下:
UID:用户ID、但输出的是用户名
PID:进程的ID
PPID:父进程ID
C :进程占用CPU的百分比
STIME:进程启动到现在的时间
TTY:该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
TIME :该进程实际使用CPU运行的时间
CMD:命令的名称和参数

二、ps -aux 命令
ps -aux 是用BSD的格式来显示的,
a:显示其他用户启动的进程
u:启动这个进程的用户和它启动的时间
x:查看系统中属于自己的进程
其格式如下:
Linux下ps-ef和ps-aux的区别和格式详解

同ps -ef 不同的有列有:
USER:用户名
%CPU:进程占用的CPU百分比
%MEM:占用内存的百分比
VSZ:该进程使用的虚拟內存量(KB)
RSS:该进程占用的固定內存量(KB)(驻留中页的数量)
STAT:进程的状态
START:该进程被触发启动时间

其中STAT状态位常见的状态字符有:
D:无法中断的休眠状态(通常 IO 的进程);
R(Runnable):正在运行或在队列中的进程;
S (sleeping):处于休眠状态;
T(stopped or traced):停止或被追踪;
W:进入内存交换 (从内核2.6开始无效);
X:死掉的进程 (基本很少见);
Z(Zombie):僵尸进程;
<:优先级高的进程
N :优先级较低的进程
L :有些页被锁进内存;
s:进程的领导者(在它之下有子进程);
l :多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+:位于后台的进程组;

三、应用举例
[root@localhost ~]# ps -aux |more       #可以用 | 管道和 more 连接起来分页查看。
[root@localhost ~]# ps -aux>ps001.txt
[root@localhost ~]# more ps001.txt 这里是把所有进程显示出来,并输出到ps001.txt文件,然后再通过more 来分页查看。

四、kill 终止进程
有十几种控制进程的方法,下面是一些常用的方法:
kill -STOP [pid]     #发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]    #发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]       #发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1                #终止你拥有的全部进程。
备注:SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。



本文主要参考资料:
http://www.linuxidc.com/Linux/2016-07/133515.htm
https://www.jianshu.com/p/a22cf4d060bf

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有