欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

操作系统第一次实验报告——剖析ps命令

程序员文章站 2022-07-06 11:35:12
0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 熟练Linux命令行操作。 2 实验内容 使用man查询命令使用手册 基本命令使用 3 实验环境 操作系统:deepin15.9.2 平台:双操作系统 4 实验报告 剖析ps命令 man命令是Linux下的帮助指令,通过ma ......

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命令

  使用标准语法查看系统上的每个进程

操作系统第一次实验报告——剖析ps命令

  ②使用bsd语法查看系统上的每个进程

操作系统第一次实验报告——剖析ps命令

   ③打印进程树操作系统第一次实验报告——剖析ps命令④获取有关线程的信息  

操作系统第一次实验报告——剖析ps命令

 ⑤获取安全信息

操作系统第一次实验报告——剖析ps命令

 ⑥以用户格式查看以root形式(real & effective id)运行的每个进程

操作系统第一次实验报告——剖析ps命令

 ⑦以用户格式查看每个进程 

操作系统第一次实验报告——剖析ps命令

 ⑧ 仅打印系统记录的进程pid

操作系统第一次实验报告——剖析ps命令

 无输出

⑨仅打印pid为42的进程名

操作系统第一次实验报告——剖析ps命令

 

  • 解释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