关于ps

对linux/unix运维人员,ps是再熟悉不过的命令了

这个命令可以帮助我们查看服务器上的进程信息,在问题排查,日常监控,例行维护,上线变更过程中都发挥了重大的作用。可谓是居家旅行,杀人越货之良品。

那像这样一款产品,世面上一般都卖到几千甚至上万块,可是今天我们公司促销大酬宾,只要998,超级命令带回家,走过路过不要错过,全部998,通通998。。。。。

言归正传,ps命令的参数共有两种风格,分别是

BSD风格:选项可以组合在一起,并且前面不带-连字符

ps aux

UNIX风格:选项可以组合在一起,并且参数前面必须带-连字符

ps -ef

GNU风格:参数前面带有两个--连字符

ps --user root

3种风格各有千秋,下面就以UNIX风格为例,简单介绍一些常用参数:
-e|-A:显示所有信息

-f:显示进程的所有信息,通常包含UID,PID ,PPID,C,STIME,TTY,TIME,CMD

-F:从名字上就能看出,比-f显示更多更多的信息

-p:显示指定pid的信息

-u:显示指定用户的信息

-L:显示线程信息

-o:自定义选项(一个神奇的选项,o(^▽^)o),允许你自定义ps的输出内容,使用-o选项

下面我们做一些简单的练习

显示所有用户的所有线程信息[[email protected] ~]# ps -eLf | headUID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMDroot         1     0     1  0    1 08:00 ?        00:00:01 init [3]root         2     1     2  0    1 08:00 ?        00:00:00 [migration/0]root         3     1     3  0    1 08:00 ?        00:00:00 [ksoftirqd/0]root         4     1     4  0    1 08:00 ?        00:00:02 [events/0]root         5     1     5  0    1 08:00 ?        00:00:00 [khelper]root        14     1    14  0    1 08:00 ?        00:00:00 [kthread]root        18    14    18  0    1 08:00 ?        00:00:00 [kblockd/0]root        19    14    19  0    1 08:00 ?        00:00:00 [kacpid]root       187    14   187  0    1 08:00 ?        00:00:00 [cqueue/0]
显示smmsp用户的所有信息
[[email protected] ~]# ps -f -u smmspUID        PID  PPID  C STIME TTY          TIME CMDsmmsp     4130     1  0 08:01 ?        00:00:00 sendmail: Queue [email protected]:00:00 for /var/spool/clientmqueue
显示进程的启动时间,进程号,cpu使用率,内存使用,线程数,执行命令(是不是碉堡了)针对你的需求,可以适当的增加和删减自定义参数,便于使用
[[email protected] ~]# ps -eo start_time,pid,pcpu,rss,nlwp,cmd | head
START   PID %CPU   RSS NLWP CMD
08:00     1  0.0   692    1 init [3]
08:00     2  0.0     0    1 [migration/0]
08:00     3  0.0     0    1 [ksoftirqd/0]
08:00     4  0.0     0    1 [events/0]
08:00     5  0.0     0    1 [khelper]
08:00    14  0.0     0    1 [kthread]
08:00    18  0.0     0    1 [kblockd/0]
08:00    19  0.0     0    1 [kacpid]
08:00   187  0.0     0    1 [cqueue/0]

例如我们想查看某个进程启动的所有线程号,可以这样做[[email protected] ~]# ps -p 3956 -Lo pid,lwp  PID   LWP 3956  3956 3956  3957 3956  3958 3956  3961 3956  3964

如果只想知道某个进程启动的线程数,则是这样[[email protected] ~]# ps -p 3956 -o lwp  LWP 3956
再来个实用的栗子ps ewwwww可以用来查看进程启动时的环境变量
比如你的应用出现乱码了,可以使用这个命令来确认启动时是否使用了正确的LANG

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

进程状态篇,未完待续。。。。。。。

PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process.
D    Uninterruptible sleep (usually IO)
R    Running or runnable (on run queue)
S    Interruptible sleep (waiting for an event to complete)
T    Stopped, either by a job control signal or because it is being traced.
W    paging (not valid since the 2.6.xx kernel)
X    dead (should never be seen)
Z    Defunct ("zombie") process, terminated but not reaped by its parent.

For BSD formats and when the stat keyword is used, additional characters may be displayed:
<    high-priority (not nice to other users)
N    low-priority (nice to other users)
L    has pages locked into memory (for real-time and custom IO)
s    is a session leader
l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+    is in the foreground process group

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

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

KEY   LONG         DESCRIPTION
c     cmd          simple name of executable
C     pcpu         cpu utilization
f     flags        flags as in long format F field
g     pgrp         process group ID
G     tpgid        controlling tty process group ID
j     cutime       cumulative user time
J     cstime       cumulative system time
k     utime        user time
m     min_flt      number of minor page faults
M     maj_flt      number of major page faults
n     cmin_flt     cumulative minor page faults
N     cmaj_flt     cumulative major page faults
o     session      session ID
p     pid          process ID
P     ppid         parent process ID
r     rss          resident set size
R     resident     resident pages
s     size         memory size in kilobytes
S     share        amount of shared pages
t     tty          the device number of the controlling tty
T     start_time   time process was started
U     uid          user ID number
u     user         user name
v     vsize        total VM size in kB
y     priority     kernel scheduling priority

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

时间: 2024-11-06 11:03:22

关于ps的相关文章

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包

- 10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包 - 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html  - tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html  # 10.6 监控io性能 ![mark](http://oqxf7c508.bkt.clouddn.com/b

一个前端所需具备的PS能力

前端网页设计+静态实现案例 放一个2天半内给某公司完成的(设计 + 静态实现)的案例吧,静态阴影用CSS3实现的http://www.cnblogs.com/MuYunyun/p/5693615.html,我最开始设计的时候就想好要用什么实现,各个框的大小是多少(精确到1像素),以及颜色搭配等等. 还有很多素材我就不演示了,设计了好些网页模板,如果有大家想用PS进行网页制作,欢迎大家交流. 很多人做前端只是掌握了最基本的切图(甚至连切图都有不会的),就连小小改动都要麻烦设计师,这就大大浪费了时间

PS通过滤色实现简单的图片拼合

 素材如下: 素材一: 雪山 素材二: 月亮  效果: 实现步骤 1.在PS中打开雪山素材一 2.将月亮素材直接拖入雪山所在的图层中 3.锁定置入素材的高宽比(点击一下链状按钮) 4.调整月亮到合适大小合适位置 5.设置月亮图层的混合模式为滤色 6.最终效果: 参考资料:[摄影笔记公开课-个PS小技巧瞬间提升照片逼格] http://www.sybj.com/may.php?c=w&a=courseDetail&page=4&t=1&courseID=29&term

PS 使用的常用命令

本文记载一些简单的PS使用的命令 1. photoshop 画完矩形调整大小方法: a.画完矩形. b.按下Ctrl+T. c.拖边线上的小正方形就是了. 2. 画圆或者矩形时,按住shift 可以变成标准图形. 3. 图形在上面的会遮挡住图形在下面的. 3. 尺寸标注 http://jingyan.baidu.com/article/ceb9fb10df72c28cad2ba093.html 4. ps 打出常用的数学公式 一法是将图片截屏放在ps里,另一种方法是新建两个图层,然后移动. 5.

【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息

如何仅使用一条ps命令便能获取到所有与RAC集群进程相关的信息.  从所使用的命令角度上看很简单,仅需使用ps命令结合grep命令便能实现.问题关键是需要确定检索哪些关键字. 1.与RAC集群有关的进程1)常驻系统的通用进程ocssd.binevmd.binevmlogger.bincrsd.bin 这些通用进程需要在各种平台和数据库版本上都会启动. 2)特有进程oprocd: 在UNIX平台当第三方集群软件为运行时会启动该进程:在Linux平台上会在Oracle 10.2.0.4这个版本上启动

makefile gdb ps

GDB 1.调试core ulimit -c ulimited 产生段错误,目录下有core文件, gdb a.out core 2.ps常用命令http://linux.cn/article-4743-1.html pstree,ps -aux,查看线程ps -eLf 调试线程,gdb中info thread thread 9

PS学习心得(1)

自己学习PS还是有一段时间了,我就把我学到的一些技巧,和容易出错的地方写下来,方便加深自己的记忆,同时也可以给大家分享. 首先打开PS的界面,这个时候我们首先要做的是打开首选项设置储存盘,和历史记录的步数,如果你的储存盘在系统盘时间久了缓存会让电脑崩溃,而历史记录少了,会造成你退后的步数变少,不方便修改. 然后就说一个容易出错的地方,就是在编辑图片的时候,一定要看看选择图层没有,如果没有选择图层会造成工具使用不上.如果图层选择正确,有时候也会出现填充颜色也填不上去,画笔也画不上去的情况,这是什么

进程查看及命令使用-htop/dstat/top/ps命令

进程是linux用来表示正在运行的程序的一种抽象概念,程序内存的使用,处理器时间和I/O资源就是通过这个对象进行管理和监视的. 一个程序要先运行在用户空间,当他需要去使用硬件资源的时候,就不得不去调动内核才能取得使用权,这时候调动内核,进入内核空间,当内核处理完毕需求之后,将指令返回给用户,一个调用完成. 进程会以时间片段在CPU运行的,CPU以一根时间线被划分成无数个片段:当一个进程运行到某个阶段,需要暂时终止的时候,需要保存一个进程运行的现场,叫保存现场:执行到某片段的时候,需要中断,当再需

【转】ps命令详解

原文地址:http://apps.hi.baidu.com/share/detail/32573968 有 时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序可能需要启动多个进程.所以在同等情况下,进程的数 量要比程序多的多.为此从阅读方面考虑,管理员需要知道系统中运行的具体程序.要实现这个需求的话,就需要利用命令ps来帮忙.要对进程进行监测 和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查

linux命令--ps命令

ps命令用来列出系统中当前运行的进程.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等 linux上进程有5种状态:  1. 运行(正在运行或在运行队列中等待)  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)  5. 停止(进程收到SIGSTOP,