操作系统第一次实验报告——剖析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:所执行的指令