Linux学习笔记Linux基础命令

常用Linux中ps命令学习及ps aux与ps -ef的区别

2017-03-06  本文已影响938人  蘑菇小巷

      工作中常用的是 ps aux查找相关程序进程,上次课程中看到别人用的是ps -ef查找程序进程,看看这两者的区别。首先查看man ps的解释:

最后两段表示在系统中查看每个进程的标准语法和BSD风格的语法,第一段也说明了,ps兼容UNIX、BSD、GUN三种风格的语法:

UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符

BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符。BSD是Unix的一个分支

GNU 风格的长选项,选项前有两个“-”连字符。GUN计划,后来发展出了Linux

1.pa aux(与ps -aux结果一致):



• USER:用户名

• PID :该进程的进程ID号。

• %CPU:该进程使用掉的 CPU 资源百分比;

• %MEM:该进程所占用的物理内存百分比;

• VSZ :该进程使用掉的虚拟内存量 (Kbytes)

• RSS :该进程占用的固定的内存量 (Kbytes)

• TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

• STAT:该程序目前的状态,主要的状态有:

                R 运行    Runnable (on run queue)            正在运行或在运行队列中等待。

               S 睡眠    Sleeping                休眠中, 受阻, 在等待某个条件的形成或接受到信号。

                I 空闲    Idle

                 Z 僵死    Zombie(a defunct process)        进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。

                  D 不可中断    Uninterruptible sleep (ususally IO)    收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。

                   T 终止    Terminate                进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。

                   P 等待交换页

                   W 无驻留页    has no resident pages        没有足够的记忆体分页可分配。

                    X 死掉的进程

                    < 高优先级进程                    高优先序的进程

                    N 低优先    级进程                    低优先序的进程

                    L 内存锁页    Lock                有记忆体分页分配并缩在记忆体内

                    s 进程的领导者(在它之下有子进程);

                     l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

                     + 位于后台的进程组

• START:进程启动时间和日期;

• TIME :进程使用的总cpu时间。

• COMMAND:正在执行的命令行命令

2.运行ps -ef


UID:用户ID(User ID)

PID :如上

PPID:父进程的进程ID(Parent Process id)

C:CPU 使用的资源百分比

STIME:进程开始时间

TTY:如上

TIME:如上

CMD:所下达的指令为何

3.其他相关命令:

ps -ax | less和ps -ax |more:less可以按上下箭头浏览所有进程,还可以按enter键往下浏览;more只能往后浏览不能向上浏览之前的进程,因此用less更方便;退出进程浏览可以按q

ps -aux --sort -pcpu | less:通过 --sort命令根据 CPU 使用来升序排序

ps -aux --sort -pmem | less:通过 --sort命令根据 内存使用 来升序排序

ps -aux --sort -pcpu,+pmem | head -n 10:根据CPU使用和内存使用升序排列,并通过管道显示前10个结果

ps -C java:显示java的进程信息,没有ps aux|grep java、ps -ef|grep java 显示的详细

ps -L PID:根据线程来过滤进程

ps -axjf和pstree:树形显示进程

ps -eo pid,user,args:参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。可以查看现在有谁登入了你的服务器

使用PS实时监控进程状态:

watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’:显示前20条

watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’:看名为'pungki'用户的信息的前20条

----------------------------------------

常用参数:

-A 显示所有进程(等价于-e)(utility)

-a 显示一个终端的所有进程,除了会话引线

-N 忽略选择。

-d 显示所有进程,但省略所有的会话引线(utility)

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)

-p pid 进程使用cpu的时间

-u uid or username 选择有效的用户id或者是用户名

g gid or groupname 显示组的所有进程。

U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)

-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.

-l 长格式(有F,wchan,C 等字段)

-j 作业格式

-o 用户自定义格式。

v 以虚拟存储器格式显示

s 以信号格式显示

-m 显示所有的线程

-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)

e 命令之后显示环境(如:ps -d e; ps -a e)(utility)

h 不显示第一行

------------------------------------

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  显示所有程序,不以终端机来区分。

上一篇下一篇

猜你喜欢

热点阅读