ps命令学习笔记
最近在看linux优化大师这本书,第2章祥细讲解了分析系统用的工具,这里把一些内容整理出来,以便加深印像。
当进行系统分析时,ps命令显示有关选择的活跃进程的信息。ps命令提供当前已存在的进程列表,和top命令相比,ps命令可以静态方式提供更祥细的信息。
ps有3种不同类型的命令选项:
- UNIX选项,可以组合起来,必须在前面加一个连字符“-”
- BSD选项,可以组合起来,不能使用连字符“-”
- GNU长选项,在前面有2个连字符“--"
以centos为例,见下图:
ps -ef 可列出所有的进程。
ps aux 这里的PID对进一步操作很重要,如果使用pmap或renice工具,PID的号码是必需的,使用BSD风格的选项将增加一个进程状态(stat=STAT)显示,并显示命令参数(args=COMMAND)来取代可执行文件的名称。

使用BSD风格的选项还可以改变进程选择,包括在其他终端(TTY)中拥有的进程。此外,还可以设置在所有进程中过虑,以排除其他用户所拥有的进程或没有在一个终端上的进程。例如:使用用户自定义的格式查看每个进程:

如果仅显示sshd则可以键入 ps -C sshd:

还可以查看HTTPD进程的ID, ps -C httpd -o pid=

如果要查看线程信息,则可以键入:ps aux |grep httpd ps -L pid(进程ID)

最后来逻列一下 ps命令的一些选项参数吧:
一. 进程选择。
|
-A |
选择所有进程 与 -e相同 |
|
-N |
选择除满足指定条件以外的所有进程。(否定选择)与--deselect相同 |
|
T |
选择与该终端相关的所有进程。与不带任何参数的t选项相同 |
|
-a |
选择除session leader 以外的进程和与该终端不相关的所有进程 |
|
a |
这个选项列出使用该终端(tty)的所有进程,或当与x选项一起使用时列出所有进程 |
|
-d |
选择除session leader 以外的所有进程 |
|
-e |
选择所有进程,与-A相同 |
|
r |
限制只选择正在运行的进程 |
|
X |
列出所有进程 |
|
--deselect |
与-N相同 |
二.Ps 命令可以使用这些选项来选择要显示的信息。输出控制如下:
|
-F |
额外的全格式。参见-f选项 |
|
-O format |
类似于-o,但是预加载了一些默认列。与-o pid,format,state,tname,time,command或-o pid,format,tname,time,cmd相同,参见-o |
|
-M |
添加安全性数据列,与Z相同(SELINUX) |
|
X |
寄存器的格式 |
|
Z |
与-M相同 |
|
-c |
为-l选项显示不同的调度信息 |
|
-f |
全格式的列表。与-L一起使用时,添加NLWP(线程数量)和LWP(线程ID)列 |
|
j |
BSD job控制格式。 |
|
-j |
Job格式 |
|
l |
显示BSD长格式 |
|
-l |
长格式,-y选项通常对此选项有用 |
|
O format |
指定用户定义的格式 |
|
-o format |
用户定义的格式。 |
|
s |
显示信号格式 |
|
u |
显示面向用户的格式 |
|
v |
显示虚拟内存格式 |
|
-y |
不显示选项;显示rss地址位,这个选项只能与-l一起使用 |
|
-Z |
显示安全上下文格式(selinux) |
|
--format format |
用户定义的格式,与-o和o相同 |
|
--context |
显示安全上下文格式(selinux) |
|
三.线程显示 |
|
|
H |
显示线程 |
|
-L |
显示线程可能使用LWP NLWP列 |
|
-T |
显示线程可能使用SPID列 |
|
M |
在进程之后显示线程 |
|
-m |
在进程之后显示线程 |
|
四.进程状态码 |
|
|
D |
不可中断的睡眠 |
|
S |
可中断的睡眠 |
|
R |
运行中的进程 |
|
T |
已停止,通过一个job控制信号或因为它正在被跟踪 |
|
Z |
已消亡的进程 |
|
X |
死亡(永远不会看到) |
|
W |
分页 |
|
< |
高优先级 |
|
N |
低优先级 |
|
L |
在内存中锁定分页 |
|
s |
Session leader |
|
l |
多线程 |
|
+ |
在前台进程组中 |
ps命令学习笔记的更多相关文章
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
- TCP/IP协议学习之实例ping命令学习笔记
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...
- 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...
- 【Redis】命令学习笔记——字符串(String)(23个超全字典版)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
随机推荐
- countDownLatch和cyclicBarrier
< Effecit In Java >说过,从java 1.5发现版本开始, 就不建议使用wait和notify,它们使用比较困难,可以使用更高级并发工具来替代. 图一所说的同步器是指那些 ...
- Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开
最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方 ...
- Adobe After Effects 2017-14.0安装教程
Adobe After Effects 2017-14.0安装教程 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Cloud帐号,安装更方便快捷 ...
- 学习笔记TF020:序列标注、手写小写字母OCR数据集、双向RNN
序列标注(sequence labelling),输入序列每一帧预测一个类别.OCR(Optical Character Recognition 光学字符识别). MIT口语系统研究组Rob Kass ...
- Asp.Net Core轻量级Aop解决方案:AspectCore
什么是AspectCore Project ? AspectCore Project 是适用于Asp.Net Core 平台的轻量级 Aop(Aspect-oriented programming) ...
- CocoaPods配置步骤
1.cd 空格 把你的工程文件夹推进去 回车 2.然后输入vi Podfile 3.然后 i 进入插入模式 吧东西粘贴进去 platform :ios, '7.0' pod 'GCJSONKi ...
- Xamarin开发笔记—百度在线语音合成
语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 技术选型:语音合成初步选择有两个,一是讯飞.二是百度. 因为使用的是X ...
- cpp(第十三章)
1.动态(晚期)联编需要显示定义复制构造函数,赋值运算符,虚构函数. 2.纯虚类不能声明对象. 3.赋值运算符的特征标随类而异. 4.返回类型协变,重新定义继承的方法,应确保与原来的原型完全相同,但如 ...
- 包装FTPWebRequest类
上篇文章讨论了C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密.不过细心的朋友应该可以发现FTPWebRequest 每次都是新生成一个reques ...
- [BZOJ4008]亚瑟王
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...