进程列表

列出进程中最重要的命令便是进程状态命令:ps.

ps命令是进程状态(Process Status)的缩写.ps命令用来列出系统中当前执行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,假设想要动态的显示进程信息,就能够使用top命令.

要对进程进行检測和控制,首先必需要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同一时候也是很强大的进程查看命令.使用该命令能够确定有哪些进程正在执行和执行的状态,进程是否结束,进程有没有僵尸,哪些进程占用了过多的资源等等.总之大部分信息都是能够通过执行该命令得到的.

ps为我们提供了进程的一次性(不要给性加重音)的查看,他所提供的查看结果并不动态连续;假设想对进程进行时间监控,应该使用top工具.

kill命令用来杀死进程

Linux上进程有五种状态

1.执行(正在执行或在执行队列中的等待)

2.中断(休眠中,受阻,在等待某个条件的形成或接收到信号)

3.不可中断(收到信号不唤醒和不可执行,进程必须等待直到有中断发生)

4.僵尸(进程已终止,但进程描写叙述符存在,直到父进程调用wait()系统调用后释放)

5.停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止执行)

ps工具标识进程的物种状态码:

状态码

说明

D

不可中断

R

执行

S

中断

T

停止

Z

僵尸

ps具体解释:

1.命令格式:

ps [參数]

2.功能

用来显示当前进程的状态

3.命令參数

參数

说明

a

显示全部进程

-a

显示统一终端下的全部程序

-A

显示全部进程

c

显示进程的真实名称

-N

反向选择

-e

等于”-A”

e

显示环境变量

f

显示程序间的关系

-H

显示树状结构

r

显示当前中断的进程

T

显示当前终端的全部进程

u

指定用户的全部进程

-au

显示较具体的资讯

-aux

显示全部包括其它使用者的进程

-C<命令>

列出指定命令的状态

--lines<行数>

每页显示的行数

--width<字符数>

每页显示的字符数

--help

显示帮助信息

--version

显示版本号信息

4.简单的使用

案例1:显示全部进程:

#ps -A

PID TTY          TIME CMD

1 ?        00:00:04 init

2 ?

00:00:00 kthreadd

3 ?        00:00:00 migration/0

省略部分结果

案例2:显示指定用户信息:

#ps -u root

PID TTY          TIME CMD

1 ?

00:00:04 init

2 ?

00:00:00 kthreadd

3 ?        00:00:00 migration/0

省略部分结果

案例3:显示全部进程信息,连同命令行

#ps -ef

UID        PID  PPID  C STIME TTY          TIME CMD

root         1     0  0 19:45 ?        00:00:04 /sbin/init

root         2     0  0 19:45 ?

00:00:00 [kthreadd]

root         3     2  0 19:45 ?

00:00:00 [migration/0]

root         4     2  0 19:45 ?        00:00:00 [ksoftirqd/0]

省略部分结果

案例4: ps与grep经常使用组合使用方法,查找特定进程

命令:

#ps -ef|grep ssh

root      1358     1  0 19:46 ?        00:00:00 /usr/sbin/sshd

root      1650  1358  0 19:47 ?        00:00:00 sshd: root@pts/0

root      3598  1652  0 21:27 pts/0    00:00:00 grep ssh

案例5:将眼下属于您自己这次登入的PID与相关信息列出

#ps -l

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 S     0  1652  1650  0  80   0 - 27116 wait   pts/0    00:00:00 bash

4 R     0  3600  1652  0  80   0 - 27033 -      pts/0    00:00:00 ps

分析说明:各相关信息的意义:

F代表这个程序的标识(flag),4代表使用者为super user

S代表这个程序的状态(STAT).

UID:程序被该UID所拥有

PID:就是这个程序的ID

PPID:则是其上级父程序的ID

C:CPU使用的资源百分比

PRI:这个是Priority(优先执序行)的缩写

NI:这个是nice值

ADDR:这个是kernel function,指出该程序在内存的那个部分.假设是个running的程序,一般就是”-”.

SZ:使用掉的内存大小

WCHAN:眼下这个程序是否正在运作其中,若为-表示正在运作

TTY: 登入这的终端机位置

TIME: 使用掉的CPU时间

CMD:所下达的指令为何

在预设的情况下,ps仅会列出与眼下所在的bash shell有关的PID而已,所以当我们使用ps -l的时候,仅仅有三个PID.

案例6:列出眼下全部的正在内存其中的程序

#ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.0  19356  1612 ?        Ss   19:45   0:04 /sbin/init

root         2  0.0  0.0      0     0 ?        S    19:45   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    19:45   0:00 [migration/0]

省略部分结果

分析说明:

USER:该process是属于哪个使用者账号的

PID:该process的号码

%CPU:该process使用掉的CPU资源百分比

%MEM:该process所占用的物理内存百分比

VSZ:该process使用掉的虚拟内存量(kb)

RSS:该process占用的固定的内存量(kb)

TTY:该process是在哪个终端机上执行,若与终端机无关,则显示 ? ,另外,tty1-tty6表示本机上的登入者程序,若为pts/0等等,则表示为由网络接进主机的程序.

STAT:该程序眼下的状态,主要状态有:R(该程序眼下正在执行,或者是可被执行),S(该程序眼下正在睡眠中,但可被某些讯号唤醒),T(该程序应该已经终止,可是其父进程却无法正常的终止它,造成僵死程序的状态).

START:该process被触发启动的时间

TIME:该process实际使用CPU运作的时间

COMMAND:该程序的实际命令.

案例7:列出类似程序树的程序显示

#ps -axjf

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND

0     2     0     0 ?           -1 S        0   0:00 [kthreadd]

2     3     0     0 ?           -1 S        0   0:00  \_ [migration/0]

2     4     0     0 ?

-1 S        0   0:00  \_ [ksoftirqd/0]

2     5     0     0 ?           -1 S        0   0:00  \_ [migration/0]

其它案例:

使用:

#ps -aux|more //实现分页查看

使用:

#ps -aux>test.txt //把全部进程显示出来,并输出到test.txt文件

使用:

#ps -o pid,ppid,pgrp,session,tpgid,comm//输出指定的字段

PID  PPID  PGRP  SESS TPGID COMMAND

1556  1554  1556  1556  1582 bash

1582  1556  1582  1556  1582 ps

shell学习五十天----查看进程ps命令的更多相关文章

  1. shell学习五十六天----延迟进程调度

    延迟进程调度 前言:大部分时候,我们都希望进程快点開始,开点结束,别卡.而shell的运行,也是在前一个命令后,立即接着运行下一个命令.命令完毕的速度是与资源的限制有关,且不在shell的权限下. 在 ...

  2. linux(6)查看进程ps命令

    ps命令 Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器 查看所有进程 ps -A 显示所有进程信息,连同命令行 ps - ...

  3. Shell学习(十)——du、df命令

    一.du 命令 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文 ...

  4. 查看进程的命令ps

    查看进程的命令:ps aux strace -p pid(进程id) 杀死进程:kill pid(进程id)强制杀死进程:kill -9 pid(进程id) linux ps 命令查看进程状态linu ...

  5. Linux下查看进程的命令输出的内容解释

    Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID           TTY         TIME   ...

  6. shell学习四十九天----进程建立

    进程 前言:进程指的是运行中程序的一个实例.新进程由fork()与execve()等系统调用所起始,然后运行,知道他们下达exit()系统调用为止. linux系统都支持多进程.尽管计算机看起来像是一 ...

  7. Linux编程 6 (查看进程 ps 及输出风格)

    一.查看进程命令ps 1.1 默认ps 命令 在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身. 上图中显示了程序的进程 ...

  8. 浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解

    进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...

  9. LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间

    1什么是进程:进程是一个执行中的程序 执行的程序: 代码->资源->CPU 进程有很多数据维护:进程状态/进程属性 所有进程属性采用的一个树形结构体维护 ps  -a//所有进程 ps - ...

随机推荐

  1. log4net实用配置代码

    log4net实用配置代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> ...

  2. 5.17领扣--Arrays.copyOf()方法

    ?? 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同 ...

  3. 5.13Junit单元测试-反射-注解

    一.Junit单元测试 * 测试分类: 1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值 2.白盒测试:需要些代码的.关注程序具体的执行流程 Junit使用:白盒测试 步骤: 1.定义 ...

  4. Unity引擎的Player Settings介绍

    我用的是unity5.4.3版本的 一.窗口打开: 从菜单栏查看播放器设置,选择 Edit->Project Settings->Player 二.全局设置 第一部分: Company N ...

  5. Tomcat jsp页面显示有问题

    1.干掉tomcat下的work文件夹里面的东西,让jsp文件重新编译,相当于清楚缓存 2.work 里面是 jsp 编译的类 ,只要jsp 被访问了,就会被编译,就会生成相应的类 3.tomcat下 ...

  6. BZOJ 1108: [POI2007]天然气管道Gaz 性质分析_小结论_巧妙

    Description Mary试图控制成都的天然气市场.专家已经标示出了最好的天然气井和中转站在成都的地图.现在需要将中转 站和天然气井连接起来.每个中转站必须被连接到正好一个钻油井,反之亦然. M ...

  7. PAT_A1015#Reversible Primes

    Source: PAT A1015 Reversible Primes (20 分) Description: A reversible prime in any number system is a ...

  8. pytorch实战(7)-----卷积神经网络

    一.卷积: 卷积在 pytorch 中有两种方式: [实际使用中基本都使用 nn.Conv2d() 这种形式] 一种是 torch.nn.Conv2d(), 一种是 torch.nn.function ...

  9. C++ 对象创建的问题

    一.C++对象的创建: 对象创建的注意事项: 1.对象数组里的个数,就是创建对象的个数,普通数组一样:下标从0 到数组里数字 -1: 2.类名*  对象指针   <-->  这里只是一个指 ...

  10. Linux C(day01)

    Linux是一个和Windows类似的操作系统 通常通过终端软件使用Linux操作系统 终端软件里只能使用键盘不能使用鼠标 可以在终端软件里输入各种命令控制计算机 完成各种任务 clear命令可以清除 ...