• 操作系统第一次实验报告——剖析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

  • 相关阅读:
    Ubuntu下Nginx与Apache2修改默认端口号
    Kerbernetes的Pod资源管理进阶
    Kerbernetes的Pod资源管理
    Kerbernetes的Pod资源清单配置基础
    kubernetes快速入门
    K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
    CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
    8
    7
    6
  • 原文地址:https://www.cnblogs.com/MilkoSilver/p/12422193.html
Copyright © 2020-2023  润新知