linux中查看进程命令ps aux和ps -ef
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。
现在的大部分Linux系统都是可以同时使用这两种方式的。
ps -ef 是用标准的格式显示进程的、其格式如下: 其中各列的内容意思如下 UID //用户ID、但输出的是用户名 PID //进程的ID PPID //父进程ID C //进程占用CPU的百分比 STIME //进程启动到现在的时间 TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
linux查看进程的方法 如何查看进程
ps aux。ps命令用于报告当前系统的进程状态。
可以搭配kill指令随时中断、删除不必要的程序。
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。a:显示当前终端下的所有进程信息,包括其他用户的进程。u:使用以用户为主的格式输出进程信息。x:显示当前用户在所有终端下的进程。
linux 如何检测是否有ps命令
显示其他用户启动的进程(a)查看系统中属于自己的进程(x)启动这个进程的用户和它启动的时间(u)使用“date -s”命令来修改系统时间比如将系统时间设定成1996年6月10日的命令如下。#date -s 06/10/96将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00------------------------------------------------------USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 1340 440 ? S Nov05 0:04 initroot 2 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]root 3 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]...------------------------------------------------------USER域指明了是哪个用户启动了这个命令;用户可以查看某个进程占用了多少CPU;内存使用及其VSZ(虚拟内存大小)和RSS(常驻集大小):VSZ表示如果一个程序完全驻留在内存的话需要占用多少内存空间;RSS指明了当前实际占用了多少内存;STAT显示了进程当前的状态:"S":进程处在睡眠状态,表明这些进程在等待某些事件发生--可能是用户输入或者系统资源的可用性;last命令可以有效的查看系统登录事件在一个进程调用了exit之后,该进程并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。
在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。系统调用exit的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁。进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait 就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。转载 ps aux 中STAT 解释 收藏运行 ps aux 的到如下信息: ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDsmmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 froot 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemonroot 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crondxfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemonroot 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -sroot 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atddbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system....................................stat 中的参数意义如下: D 不可中断 Uninterruptible(usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始无效) X 死掉的进程 < 高优先级 n 低优先级 s 包含子进程 + 位于后台的进程组======================================ps命令要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了. 1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有程序。3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。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去查找特定的进程,然后再对特定的进程进行操作。
Linux进程查看的ps命令
ps简介前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。
使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
总之大部分信息都是可以通过执行该命令得到的。ps命令及其参数ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。该命令语法格式如下:ps [选项]下面对命令选项进行说明:-e 显示所有进程。-f 全格式。
-h 不显示标题。-l 长格式。-w 宽输出。
a 显示终端上的所有进程,包括其他用户的进程。r 只显示正在运行的进程。x 显示没有控制终端的进程。
O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定的多级排序顺序显示进程列表。对于ps的不同格式都存在着默认的顺序指定。这些默认顺序可以被用户的指定所覆盖。
其中“+”字符是可选的,“-”字符是倒转指定键的方向。pids 只列出指定进程的情况。各进程ID之间使用逗号分隔。该进程列表必须在命令行参数的最后一个选项后面紧接着给出,中间不能插入空格。
比如:ps -f1,4,5。以下介绍长命令行选项,这些选项都使用“--”开头:--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键。“+”字符是可选的,因为默认的方向就是按数字升序或者词典渌承颉1热纾?ps -jax -sort=uid,-ppid,+pid。--help 显示帮助信息。
--version 显示该命令的版本信息。在前面的选项说明中提到了排序键,接下来对排序键作进一步说明。需要注意的是排序中使用的值是ps使用的内部值,并非仅用于某些输出格式的伪值。排序键列表见表4-3。
表4-3 排序键列表短格式长格式说 明ccmd可执行的简单名称Ccmdline完整命令行fflags长模式标志gpgrp进程的组IDGtpgid控制tty进程组IDjcutime累计用户时间Jcstime累计系统时间kutime用户时间Kstime系统时间mmin_flt次要页错误的数量Mmaj_flt主要页错误的数量ncmin_flt累计次要页错误Ncmaj_flt累计主要页错误osession对话IDppid进程IDPppid父进程IDrrss驻留大小Rresident驻留页ssize内存大小(千字节)Sshare共享页的数量tttytty次要设备号Tstart_time进程启动的时间UuidUIDuuser用户名vvsize总的虚拟内存数量(字节)ypriority内核调度优先级常用ps命令参数前面两节介绍的参数可能让读者觉得有些可怕,实际上这是一个非常容易使用的命令,一般的用户只需掌握一些最常用的命令参数就可以了。 最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。[例20] 以root身份登录系统,查看当前进程状况$ psPID TTY TIME COMMAND5800 ttyp0 00:00:00 bash5835 ttyp0 00:00:00 ps可以看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)、COMMAND(该进程的命令行输入)。
可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:$ ps uUSER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMANDtest 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bashtest 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u在bash进程前面有条横线,意味着该进程便是用户的登录shell,所以对于一个登录用户来说带短横线的进程只有一个。还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有观察到,所以这时就需要使用x选项。
使用x选项可以观察到所有的进程情况。[例21] 下面是使用x选项的例子:$ ps xPID TTY STAT TIME COMMAND5800 ttyp0 S 0:00 -bash5813 ttyp1 S 0:00 -bash5921 ttyp0 S 0:00 man ps5922 ttyp0 S 0:00 sh -c /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz | /5923 ttyp0 S 0:00 /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz5924 ttyp0 S 0:00 /usr/bin/less -is5941 ttyp1 R 0:00 ps x可以发现突然一下子就多出了那么多的进程。这些多出来的进程就是没有控制终端的进程。 前面看到的所有进程都是test用户自己的。
其实还有许多其他用户在使用着系统,自然也就对应着其他的很多进程。如果想对这些进程有所了解,可以使用a选项来查看当前系统所有用户的所有进程。经常使用的是aux组合选项,这可以显示最详细的进程情况。
[例22]$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 1136 64 ? S Nov25 0:02 init [3]root 2 0.0 0.0 0 0 ? SW Nov25 0:00 [kflushd]root 3 0.0 0.0 0 0 ? SW Nov25 0:03 [kupdate]root 4 0.0 0.0 0 0 ? SW Nov25 0:00 [kpiod]root 5 0.0 0.0 0 0 ? SW Nov25 0:00 [kswapd]root 163 0.0 0.1 1628 332 ? S Nov25 0:02 sshdroot 173 0.0 0.0 1324 200 ? S Nov25 0:00 syslogdroot 181 0.0 0.0 1420 0 ? SW Nov25 0:00 [klogd]daemon 191 0.0 0.1 1160 312 ? S Nov25 0:00 /usr/sbin/atdroot 201 0.0 0.1 1348 492 ? S Nov25 0:00 crondroot 212 0.0 0.0 1292 68 ? S Nov25 0:00 inetd……在显示的最前面是其他用户的进程情况,可以看到有root、daemon等用户以及他们所启动的进程。 在上面的例子中,介绍了ps命令最常见的一些选项和选项组合,用户可以根据自己的需要选用。

评论列表