程序的查询 ps - 笔记1

想显示系统运行的程序时可以用ps指令

ps指令语法:

[[email protected] ~]# ps aux <==观察系统所有的程序数据

[[email protected] ~]# ps -lA <==也是能够观察所有系统的数据

[[email protected] ~]# ps axjf <==连同部分程序树状态

选项与参数:

-A :所有的 process 均显示出来,与 -e 具有同样的效用;

-a :不与 terminal 有关的所有 process ;

-u :有效使用者 (effective user) 相关的 process ;

-x :通常与 a 这个参数一起使用,可列出较完整信息。

输出格式规划:

-l :较长、较详细的将该 PID 的的信息列出;

-j :工作的格式 (jobs format)

-f :做一个更为完整的输出。

常用ps指令结果列表说明:

1)ps -l   /*显示目前属于您自己这次登入的 PID 与相关信息列示出来(只与自己的 bash 有关)*/

[[email protected] ~]# ps -l

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

4  S   0   13639  13637   0   75    0     -     1287     wait     pts/1   00:00:00  bash

4  R   0   13700  13639   0   77    0     -     1101       -        pts/1   00:00:00    ps

F:flag,说明这个程序的总结权限,常见号码有4(权限为root)、1(子程序仅进行复制(fork)而没有实际执行(exec));

S:status,主要状态有:

R【Running:该程序正在运作中】

S【Sleep:该程序目前正在睡眠状态(idle),但可以被唤醒(signal)】;

D【不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>打印)】;
    T【stop:该程序可能是在工作控制(背景暂停)或除错 (traced) 状态】;

Z【Zombie:僵尸状态,程序已经终止但却无法被移除至内存外】

UID/PID/PPID:此程序被该 UID 所拥有/程序的 PID 号码/此程序的父程序 PID 号码

C:CPU使用率

PRI/NI:Priority/Nice 优先级,数值越小越优先

ADDR:程序在内存中哪个部分,如果时正在运行的程序一般会显示 -

SZ:代表此程序用掉多少内存

WCHAN:表示目前程序是否运作中,同样的, 若为 - 表示正在运作中

TTY:登入者的终端机位置,若为远程登录则使用动态终端接口 (pts/n),如例子中的pts/1

TIME:程序使用掉的CPU时间,非系统时间

CMD:哪个指令触发的

2)ps -aux /*列出目前所有的正在内存当中的程序*/

[[email protected] ~]# ps aux

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

root      1       0.0     0.0        2064  616      ?       Ss       Mar11 0:01         init [5]

root      2      0.0     0.0           0      0        ?       S<       Mar11 0:00       [migration/0]

root      3      0.0     0.0           0      0        ?       SN      Mar11 0:00       [ksoftirqd/0]

------------------------------中间省略--------------------------------

root   13639  0.0     0.2        5148  1508    pts/1   Ss        11:44 0:00        -bash

root   14232  0.0     0.1         4452  876    pts/1   R+        15:52 0:00        ps aux

root   18593  0.0     0.0        2240  476       ?      Ss        Mar14 0:00        /usr/sbin/atd

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

PID :该 process 的程序标识符

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

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

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

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

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

STAT:该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/T/Z)

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

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

COMMAND:该程序的实际指令为何

3)ps -axjf /*列出类似程序树的程序显示*/

[[email protected] ~]# ps axjf

PPID     PID    PGID      SID     TTY      TPGID      STAT   UID    TIME    COMMAND

0         1         1           1        ?           -1           Ss      0       0:01       init [5]

-----------------------------------中间省略--------------------------------

1       4586   4586     4586     ?           -1          Ss       0       0:00     /usr/sbin/sshd

4586    13637   13637   13637     ?           -1          Ss       0       0:00         \_ sshd: [email protected]/1

13637   13639   13639   13639   pts/1    14266        Ss       0       0:00             \_ -bash

13639   14266   14266   13639   pts/1    14266        R+      0       0:00                  \_ ps axjf

PGID:根据man ps中的定义,process group ID or process ID

TPGID:ID of the foreground process group on the tty

SID: process ID of the session leader

当然,树状图也可以用pstree来显示

原文地址:http://blog.51cto.com/legendland/2055408

时间: 2024-10-25 18:10:04

程序的查询 ps - 笔记1的相关文章

Web应用程序性能优化学习笔记

Web应用程序性能优化学习笔记 1. 使用瀑布图初步诊断网站性能瓶颈 一般来说,打开一个网页的速度会受到以下几项的影响: 1) 服务器花了太长的时间将.aspx页面的内容转化为html. 2) .aspx页面花了太长的时间从服务器端将内容发送到客户端. 3) 页面上的图片或者flash文件花了太长的时间从服务器端发送到客户端. 4) JavaScript和CSS文件阻塞页面渲染. 我们可以使用“瀑布图”来确定一个页面的性能问题是由于哪一项造成的.FireBug.Chrome自带的“开发人员工具”

SQL查询(笔记2——实体查询)

SQL查询(笔记2——实体查询) 二.实体查询 如果查询返回了某个数据表的全部数据列,且该数据表有对应的持久化类映射,我们就把查询结果转换成实体查询.将查询结果转换成实体,可以使用SQLQuery提供的多个重载addEntity()方法. String sqlString = "select * from enrolment where year=:year"; List l = session.createSQLQuery (sqlString) //指定查询的记录行转换成Enrol

在数据库中sql查询很快,但在程序中查询较慢的解决方法

在写java的时候,有一个方法查询速度比其他方法慢很多,但在数据库查询很快,原来是因为程序中使用参数化查询时参数类型错误的原因 1 select * 2 from TransactionNo, 3 fmis_AccountRecord AccountRecord, 4 UserInfo InputUser, 5 UserInfo CheckUser, 6 transspecialoperation a, 7 AccountInfo c 8 where InputUser.ID(+) = Tran

《卓有成效的程序员》----读书笔记二

六大方面对比Launchy和TypeAndRun(TAR) 对于快速启动工具,很多人都有自己的偏好,多次听到朋友介绍Launchy的好,虽然自己一直在使用着TAR,还是克制不住对于好软件的渴求,下载Launchy进行试用.很多软件都是有一个试用期的,也许新的软件确实不错,但是你习惯了以前使用的那个软件.今天就比较客观的将Launchy和TAR进行一下对比,从界面.上手速度到功能.自定义,以及软件的稳定性.占用资源进行详细的比较. [界面美观]Launchy:毫无疑问这是它的强项.1.0正式版自带

iphone程序小图修改(笔记iphone4-ipad)

方法一 1.57*57像素的png 图片方形的就可以. 2.拖放到xcode 的resources 文件夹里. 3.选中resources文件夹,add to project 然后找到图片. 方法二 找到项目的_info.plist 在属性栏里,找到icon file 如果没找到这个属性可以手动添加属性,设置相应的文件路径. iphone程序小图修改(笔记iphone4-ipad),布布扣,bubuko.com

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

黑马程序员_OC学习笔记之description方法和sel

OC--description方法 1.Description方法包括类方法和对象方法.(NSObject类所包含) -description(对象方法) 2.使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出. +description(类方法) 3.使用NSLog和@%输出某个对象时,会调用类对象的description方法,并拿到返回值进行输出,把整个对象一次性打印出来,打印对象使用%@. 4.使用@%打印对象如(“@%”,P)默认打印输出为<

黑马程序员_OC学习笔记之@property和@synthesize

[objc] view plaincopyprint? <span style="font-size:24px;">#import <Foundation/Foundation.h> @interface Person : NSObject { int _age; int age; int _height; int height; int _weight; int weight; int _money; int money; } @property int ag

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //