Open codetalks-new opened 5 years ago
基本术语参考 top 命令说明。
1
forked but didn't exec (表示其实跟父进程运行的是同一个程序,因为还没有加载自己的程序镜像)4
used super-user privilegess,stat,state
D
不可中断休眠中(一般是IO)R
运行中,或者等待运行中S
可中断休眠中,(等待某一个事件完成)T
被任务控制信号停止t
在 tracing 时被调试器中止
W
paging (2.6 之后被废弃)X
deadZ
defunct ("zombie") 僵尸进程,已终止但是父进程没有清理
关于 procps
ps,pstree,top 等一系列命令,都是来自 procps 工具包。 主要包含如下命令。
free
- 显示已用及剩余内存。kill
- 基于 PID 给进程发送信号。pkill
- 基于 进程名及其他属性给进程发送信号。ps
列出进程信息。pgrep
基于进程名及其他属性列出进程pmap
列出进程的内存映射关系。pwdx
列出进程的当前目录。slabtop
实时显示内核的 slab 缓存信息snice
调整进程的 nice 值。sysctl
运行时读写内核参数。tload
图形化显示当前系统负载。top
动态实时显示当前运行进程。uptime
显示系统已经运行时长。vmstat
列出虚拟内存统计。w
报告当前登录用户及当前正在做什么。watch
重复执行程序,全屏显示。ps 命令使用帮助
ps
命令兼容三种不同风格的命令选项。ps的使用帮助分为了6节。参考如下:
下面的实例也将以此分组进行实践。
常用命令选项
ps --help simple
下面提取的会话领导进程指的是比如 shell 进程一般就是会话领导进程。通过此 shell 创建的进程都属于此会话。-A,-e
列出所有进程-a
列出所有带 tty 的进程,不包含会话领导。a
列出所有带 tty 的进程,包含其他用户的。-d
所有非会话领导的进程。-N,--deselect
反选r
只显示正在运行的进程。T
只显示在此终端的进程。x
只显示没有控制终端的进程。一般用于列出守护进程及没有从终端启动的进程。列表筛选选项
ps --help list
-C <command>
以完整的进程名过滤。-G,--Group <gid>
根据真实组ID或组名过滤。(提示:/etc/group包含了所有组定义相关信息。)-g,--group <group>
会话或有效组名-p,p,--pid <PID>
进程ID--ppid <PID
父进程ID-q,q --quick-pid <PID>
进程ID (快速模式)-s,--sid <session>
会话ID-t,t --tty <tty>
终端-u,U, --user <UID>
有效用户名或ID-U,--User <UID>
真实用户名或ID以上筛选项基本支持。以逗号,或以空格分隔的多个参数。 例如:
ps -u root,nobody
或ps -p 1 2 3
输出控制
ps --help output
-f
full-format,包含命令行。-F
extra full,更多输出。-H,f, --forest
继承树,及树状视图。-j,j
任务格式,BSD 控制任务格式。-l,l
长格式,及BSD长格式-M,Z
添加安全数据(for SELinux)s
信号格式u
面向用户格式v
虚拟内存格式。X
寄存器格式e
显示环境变量--
--no-headers
不要表头。 ----headers
每页显示表头 ----cols,--columns,-- width <num>
设定屏幕宽度 ----rows,--lines <num>
设定屏幕高度。线程相关
H
把线程当进程显示-L
显示LWP
,NLWP
列。-m,m
在进程之后显示-T
显示 SPID 列。其他
-c
跟-l
参数配置显示调度类c
显示真值进程名k,--sort
指定排序列,多个列可以使用逗号分隔.语法[+|-]key,[+|-]key,...
,其中+
表示升序,-
表示降序。L
显示所有的列标签。n
显示数字形式uid
和wchan
S,--cumulative
累加模式,显示已死亡的子进程。-w,w
不限制输出宽度。-y
只能跟-l
搭配,表示不显示flags
但是显示rss
-V,V, --version
显示 版本。