操作系统第一次实验报告——剖析ps命令
0 个人信息
- 张樱姿
- 201821121038
- 计算1812
1 实验目的
- 熟练linux命令行操作。
2 实验内容
- 使用man查询命令使用手册
- 基本命令使用
3 实验环境
- 操作系统:deepin15.9.2
- 平台:双操作系统
4 实验报告
-
剖析ps命令
man命令是linux下的帮助指令,通过man指令可以查看linux中的指令帮助、配置文件帮助和编程帮助等信息。
首先利用man命令先查询下ps的手册。
man ps
name ps - report a snapshot of the current processes. synopsis ps [options]
examples
# 使用标准语法查看系统上的每个进程 to see every process on the system using standard syntax: ps -e ps -ef ps -ef ps -ely
# 使用bsd语法查看系统上的每个进程 to see every process on the system using bsd syntax: ps ax ps axu
# 打印进程树 to print a process tree: ps -ejh ps axjf
# 获取有关线程的信息 to get info about threads: ps -elf ps axms
# 获取安全信息 to get security info: ps -eo euser,ruser,suser,fuser,f,comm,label ps axz ps -em
# 以用户格式查看以root形式(real & effective id)运行的每个进程 to see every process running as root (real & effective id) in user format: ps -u root -u root u
# 以用户格式查看每个进程 to see every process with a user-defined format: ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm ps -ao pid,tt,user,fname,tmout,f,wchan
# 仅打印系统记录的进程pid print only the process ids of syslogd: ps -c syslogd -o pid=
# 仅打印pid为42的进程名 print only the name of pid 42: ps -q 42 -o comm=
-
尝试ps命令
①使用标准语法查看系统上的每个进程
②使用bsd语法查看系统上的每个进程
③打印进程树④获取有关线程的信息
⑤获取安全信息
⑥以用户格式查看以root形式(real & effective id)运行的每个进程
⑦以用户格式查看每个进程
⑧ 仅打印系统记录的进程pid
无输出
⑨仅打印pid为42的进程名
-
解释ps命令中的常用参数
a:显示现行终端机下的所有程序,包括其他用户的程序。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
e:列出程序时,显示每个程序所使用的环境变量。
f:用ascii字符显示树状结构,表达程序间的相互关系。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
h:不显示标题列。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
r:只列出现行终端机正在执行中的程序。
v:采用虚拟内存的格式显示程序状况
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
-c:显示cls和pri栏位。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:显示所有程序。
-f:显示uid,ppip,c与stime栏位。
-h:显示树状结构,表示程序间的相互关系。
-u<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
-j:采用工作控制的格式显示程序状况
-l或l:采用详细的格式来显示程序状况。
-n:显示所有的程序,除了执行ps指令终端机下的程序之外。
-
解释执行ps -au()x后返回结果中每个字段的含义
ps -au(x) 输出格式 :
user pid %cpu %mem vsz rss tty stat start time command
user: 行程拥有者
pid: pid
%cpu: 占用的 cpu 使用率
%mem: 占用的记忆体使用率
vsz: 占用的虚拟记忆体大小
rss: 占用的记忆体大小
tty: 终端的次要装置号码 (minor device number of tty)
stat: 该行程的状态:
d: 无法中断的休眠状态 (通常 io 的进程)
r: 正在执行中
s: 静止状态
t: 暂停执行
z: 不存在但暂时无法消除
w: 没有足够的记忆体分页可分配
<: 高优先序的行程
n: 低优先序的行程
l: 有记忆体分页分配并锁在记忆体内 (实时系统或捱a i/o)
start: 行程开始时间
time: 执行的时间
command:所执行的指令
5 reference
上一篇: Java之JNDI注入的实现