zoukankan      html  css  js  c++  java
  • ps命令

    ps命令

    Linux是一个多任务、多用户的操作系统,因此它允许多个进程同时运行而不相互干扰,进程是Linux操作系统的重要基本概念之一,进程是程序的执行实例,在操作系统中执行不同的任务。Linux为我们提供了一个名为ps的实用程序,用于查看与系统上的进程相关的信息,它是process status进程状态的缩写,ps命令用于列出当前正在运行的进程,它们的pid以及一些其他信息取决于不同的选项,它从/proc文件系统中的虚拟文件读取进程信息,/proc包含虚拟文件,这就是它被称为虚拟文件系统的原因,process status命令ps显示有关活动进程的信息,类似于windows的任务管理器,每个操作系统的ps版本都略有不同,因此若要是需要获取详细情况则需要查阅操作系统的wiki

    语法

    ps [options]
    

    参数

    ps命令有多种类别的参数可以选择: simple|list|output|threads|misc|all

    Simple Process Selection

    • -A, -e: 选择所有进程。
    • -a: 选择除会话引线和与终端无关的进程之外的所有进程。
    • a: 列出带有终端tty的所有进程,包括其他用户进程,或者在与x选项一起使用时列出所有进程。
    • -d: 选择除会话所属者以外的所有进程。
    • -N, --deselect: 选择除满足指定条件的进程以外的所有进程。
    • r: 将选择限制为仅运行进程。
    • T: 选择与此终端关联的所有进程。
    • x: 列出拥有的所有进程(和ps相同的EUID),或者在和a选项一起使用时列出所有进程。

    Process Selection By List

    • -C <command>: 按命令名选择,这将选择其可执行名称在command中给定的进程。
    • -G, --Group <GID>: 按真实组ID (RGID)或名称选择,这将选择其真实组名或IDgrplist列表中的进程。
    • -g, --group <group>: 按会话或有效组名选择。
    • -p, p, --pid <PID>: 按进程ID选择。
    • --ppid <PID>: 按父进程ID选择,这将选择pidlist中具有父进程ID的进程,也就是说,它选择的进程是pidlist中列出的那些进程的子进程。
    • -q, q, --quick-pid <PID>: 按进程ID选择(快速模式)。
    • -s, --sid <session>: 按会话ID选择。
    • -t, t, --tty <tty>: 通过tty (terminal)选择。
    • -u, U, --user <UID>: 根据有效的用户ID (EUID)或名称选择。
    • -U, --User <UID>: 按真实用户ID (RUID)或名称选择。

    Output Format Control

    • -F: 额外的完整格式。
    • -f: 进行全格式列表,可以将此选项与其他UNIX样式的选项结合使用以添加其他列,它还会导致命令参数被打印,与-L一起使用时,将添加NLWP线程数和LWP线程ID列。
    • f, --forest: ASCII art进程层次结构,如许多树,也称为林。
    • -H: 显示进程层次结构(林)。
    • -j: 作业格式。
    • j: BSD作业控制格式。
    • -l: 长格式,-y选项通常对此很有用。
    • l: 显示BSD长格式。
    • -M, Z: 对于SE Linux添加一列安全数据。
    • -O <format>: 使用默认列预加载。
    • O <format>: 与-O类似,具有BSD特性。
    • -o, o, --format <format>: 指定用户定义的格式。
    • s: 显示信号格式。
    • u: 显示面向用户的格式。
    • v: 显示虚拟内存格式。
    • X: 寄存器格式。
    • -y: 不显示标志,显示rss代替addr,此选项只能与-l一起使用。
    • --context: 使用SE Linux时,显示安全上下文格式。
    • --headers: 重复标题行,每页输出一行。
    • --no-headers: 完全不打印标题行。
    • --cols, --columns, --width <num>: 设置屏幕宽度。
    • --rows, --lines <num>: 设置屏幕高度。

    Thread Display

    • H: 将线程显示为进程。
    • -L: 显示线程,可能带有LWPNLWP列。
    • -m, m: 在进程之后显示线程。
    • -T: 显示线程,可能带有SPID列。

    Miscellaneous options

    • -c: 为-l选项显示不同的调度程序信息。
    • c: 显示真实的命令名称。
    • e: 在命令后显示环境。
    • k, --sort: 指定排序顺序为[+|-]key[,[+|-]key[,...]]
    • L: 显示格式说明符。
    • n: 显示数字uidwchan
    • S, --cumulative: 包含一些dead子进程数据。
    • -y: 不显示标志,显示rss,仅与-l一起使用。
    • -V, V, --version: 显示版本信息。
    • -w, w: 无限制的输出宽度。
    • --help <simple|list|output|threads|misc|all>: 显示帮助信息。

    示例

    显示当前shell的进程。

    ps
    

    查看所有正在运行的进程。

    ps -e
    

    通常查看所有进程可以与管道以及grep命令结合用以过滤,例如我们查看与nginx有关的所有进程。

     ps -e | grep nginx
    

    查看除会话引线和未与终端关联的进程之外的所有进程。

    ps -a
    

    查看www用户的所有进程。

    ps -u www
    

    查看www组的所有进程。

    ps -G www
    

    使用-f查看完整格式列表。

    ps -f
    

    按用户自定义格式查看进程。

    ps -aN --format cmd,pid,user,ppid
    

    根据内存占用情况将进程排序。

    ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem
    

    显示所有当前进程,为了便于查看可以结合管道和less命令来使用。

    ps -ax | less
    

    使用aux参数,加入CPU与内存用量信息,来显示全面的信息。

    ps -aux | less
    

    根据CPU使用将进程降序排序。

    ps -aux --sort -pcpu | less
    

    根据内存使用将进程降序排序。

    ps -aux --sort -pmem | less
    

    合并内存与CPU的整体使用情况进行排序,并只显示前10个结果。

    ps -aux --sort -pcpu,+pmem | head -n 10
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.computerhope.com/unix/ups.htm
    https://www.runoob.com/linux/linux-comm-ps.html
    https://www.geeksforgeeks.org/ps-command-in-linux-with-examples/
    
  • 相关阅读:
    狐狸和兔子
    Arguments to main
    strncpy
    atoi
    sscanf
    集体的智慧:为什么SaaS打败企业软件?
    终于来热风了,又一次感觉到什么叫温暖!
    博士生的毕设
    淡淡的
    endnote如何修改输出格式?
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/14396669.html
Copyright © 2011-2022 走看看