OS第1次实验报告:熟悉使用Linux命令和剖析ps命令



  • 姓名  邹文兵
  • 学号  201821121028
  • 班级  计算1811

1. 实验环境介绍

给出实验环境:

  • 操作系统:Ubuntu 18.04.3 LTS
  • 平台:双操作系统(Win10+Ubuntu18.04)

OS第1次实验报告:熟悉使用Linux命令和剖析ps命令

2. 常用命令使用

     (1)进入特权模式:sudo su
 
OS第1次实验报告:熟悉使用Linux命令和剖析ps命令
 
   (2)文件操作(部分):ls ,mkdir,rmdir
 
OS第1次实验报告:熟悉使用Linux命令和剖析ps命令

3. 剖析ps命令

运行man ps,将ps使用方法拷贝过来,比如:

SYNOPSIS
       ps [options]
EXAMPLES
       To see every process on the system using standard syntax:
          ps -e
          ps -ef
          ps -eF
          ps -ely

       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

       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

       Print only the process IDs of syslogd:
          ps -C syslogd -o pid=

       Print only the name of PID 42:
          ps -q 42 -o comm=

(1)运行ps -ef,系统的返回结果:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 3月06 ?       00:00:11 /sbin/init splash
root         2     0  0 3月06 ?       00:00:00 [kthreadd]
root         3     2  0 3月06 ?       00:00:00 [rcu_gp]
root         4     2  0 3月06 ?       00:00:00 [rcu_par_gp]
root         6     2  0 3月06 ?       00:00:00 [kworker/0:0H-kb]
 
 
:
 
-e :  表示全部进程
 
-f  :  做完整的格式列表。
 
解释返回结果每个字段的含义:
UID : 用户的ID  PID : 进程标识符  PPID :父进程标识符     C :CPU占用的百分比  STIME :进程开始的时间    TTY :登入者的终端机位置 TIME :使用掉的CPU时间CMD :所下达的指令为啥
(2)运行ps -ely,系统的返回结果:
 
:/home/zouwenbin# ps -ely
S   UID   PID  PPID  C PRI  NI   RSS    SZ WCHAN  TTY          TIME CMD
S     0     1     0  0  80   0  9448 56426 ep_pol ?        00:00:17 systemd
S     0     2     0  0  80   0     0     0 kthrea ?        00:00:00 kthreadd
I     0     3     2  0  60 -20     0     0 rescue ?        00:00:00 rcu_gp
I     0     4     2  0  60 -20     0     0 rescue ?        00:00:00 rcu_par_gp
I     0     6     2  0  60 -20     0     0 worker ?        00:00:00 kworker/0:0H-kb

解释命令中参数的含义:

-l  : 长格式
-y :  不要显示标志;用rss代替addr
 
解释返回结果每个字段的含义:
 
          S  :进程状态
                             D:不可中断睡眠(不可唤醒)
                             R:正在运行
                             S:可中断睡眠(可唤醒)
                             T:停止状态
                             X:死掉的进程
                             Z:僵尸进程,进程已中止,但是部分程序还在内存中
                             <:高优先级进程
                             N:低优先级进程
                            +:位于后台
                             s:包含子进程(即为进程领导者)
                             L:被锁入内存
                             l:多线程进程

           PRI :进程优先级,数值越小优先级越高
          
           NI :进程优先级,数值越小优先级越高
 
           RSS : 常驻集大小,任务已使用的非交换物理内存(以千字节为单位)
 
           SZ : 进程占用内存大小
 
           WCHAN : 查看该进程是否正在运行
 

4. 通过该实验产生新的疑问及解答

相关推荐