• ps命令应用(查看进程)


    记录:320

    场景:在CentOS 7.9操作系统上,ps命令是查看进程信息工具。查看进程状态、进程使用内存状况、进程使用CPU状况、进程PID等。

    版本:

    操作系统:CentOS 7.9

    1.ps命令介绍

    ps命令,process status的简称。一个查看进程信息工具。可以查看启动哪些进程、进程运行的状态、进程占用资源情况等。收集这些信息有助于监测和控制进程。比如,写自动化脚本时,根据进程信息决定下一步执行动作。

    ps命令,查看进程执行瞬间的进程信息工具。查看进程状态、进程使用内存状况、进程使用CPU状况、进程PID等。

    top命令,查看进程实时动态信息工具。查看进程状态、进程使用内存状况、进程使用CPU状况、进程PID等。

    僵尸进程,一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称为僵尸进程。

    2.ps常用命令

    (1)ps帮助命令

    命令:ps --help a

    功能:查看ps支持的全部命令和选项,在实际工作中,查看这个手册应该是必备之选。

    (2)查看当前会话中打开进程

    命令:ps

    功能:查看当前会话打开的进程,实际上就是ps进程和bash进程。因为ps是使用bash的shell脚本,因此也有bash进程。

    (3)查看全部进程

    命令:ps -e

    命令:ps -A

    功能:-e,-A,查看全部进程。打印字段:PID、TTY、TIME、CMD信息。一般使用-e。

    (4)查看全部进程且完整格式,包括命令行

    命令:ps -ef

    功能:-f完整格式,包括命令行。打印字段:UID、PID、PPID、C、STIME、TTY、TIME、CMD。

    (5)查看全部进程搜索指定内容

    命令:ps -ef | grep java

    功能:在ps -ef列出的内容中,使用grep命令搜索含有关键字java的进程,实际一般这样组合使用。注意,使用搜索后,不显示字段名称了。

    (6)查看全部进程显示完整信息

    命令:ps -eF

    功能:-F,显示完整信息,打印字段:UID、PID、PPID、C、SZ、RSS、PSR、STIME、TTY、TIME、CMD。如果想查看进程对内存和CPU使用情况,可以使用此命令。

    (7)查看全部进程以用户维度输出信息

    命令:ps aux

    功能:a,打印全部有tty终端启动的进程。x,打印没有tty控制终端的进程。u,以用户为导向的格式输出。打印字段:USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、STATT、TIME、COMMAND。需要查看用户的进程的CPU、内存以及进程状态,可以使用这种方式

    (8)查看全部进程以用户维度输出信息指定搜索

    命令:ps aux | grep java

    功能:查看全部进程以用户维度输出信息指定关键字搜索。

    3.ps命令字段解析

    执行ps命令后,打印信息的第一行是字段名称,即每一列代表的意思。

    3.1常用字段

    UID:进程的用户的ID号。

    USER:启动进程的用户。

    PID:进程的唯一ID。

    PPID:进程的父进程的ID号。

    C:进程的CPU处理器利用率。

    TTY:启动进程的终端名称。表示该进程在哪个终端运行,不是从某个终端启动的进程或者与终端无关的进程显示为?号,查看终端名称可以使用:ll /dev/。

    TIME:进程使用CPU的累计时间。

    CMD/COMMAND:进程所运行的命令。

    STIME/STATT:进程的启动时间。

    %CPU:进程占用CPU的百分比

    %MEM:进程占用内存的百分比(使用物理内存计算)。

    VSZ:进程占用的虚拟内存大小(单位:KB)

    RSS:进程占用的实际内存大小(单位:KB)

    PSR:当前进程被调度到的CUP核序号。

    SZ:进程在物理页面中的核心镜像的大小。

    STAT:进程当前状态。

    3.2字段STAT说明

    STAT:进程当前状态。STAT字段每个字母代表意思。

    R:running,运行或可运行状态。

    S:interruptable sleeping,可中断睡眠(等待事件完成),正在睡眠的进程。

    D:uninterruptable sleeping,不可中断的睡眠进程。

    T:stopped,停止或被追踪的进程。

    Z:zombie,僵死进程。

    s:session leader,会话层状态。

    N:低优先级进程。

    <:高优先级进程。

    +:前台进程。

    l:多线程进程。(字母l)。

    3.ps和其它几个命令

    查看进程:ps -ef

    查看CPU信息:cat /proc/cpuinfo

    查看内信息:free -h

    查看文件系统信息:df -h

    查看目录和文件占用空间信息:du -h

    查看磁盘挂载信息:lsblk

    4.帮助命令列表

    命令:ps --help a

    查看ps 支持的全部命令和选项,在实际工作中,查看这个手册应该是必备之选。

    1. Usage:
    2. ps [options]
    3. Basic options:
    4. -A, -e all processes
    5. -a all with tty, except session leaders
    6. a all with tty, including other users
    7. -d all except session leaders
    8. -N, --deselect negate selection
    9. r only running processes
    10. T all processes on this terminal
    11. x processes without controlling ttys
    12. Selection by list:
    13. -C <command> command name
    14. -G, --Group real group id or name
    15. -g, --group session or effective group name
    16. -p, p, --pid process id
    17. --ppid parent process id
    18. -q, q, --quick-pid
    19. process id (quick mode)
    20. -s, --sid session id
    21. -t, t, --tty <tty> terminal
    22. -u, U, --user effective user id or name
    23. -U, --User real user id or name
    24. The selection options take as their argument either:
    25. a comma-separated list e.g. '-u root,nobody' or
    26. a blank-separated list e.g. '-p 123 4567'
    27. Output formats:
    28. -F extra full
    29. -f full-format, including command lines
    30. f, --forest ascii art process tree
    31. -H show process hierarchy
    32. -j jobs format
    33. j BSD job control format
    34. -l long format
    35. l BSD long format
    36. -M, Z add security data (for SELinux)
    37. -O preloaded with default columns
    38. O as -O, with BSD personality
    39. -o, o, --format
    40. user-defined format
    41. s signal format
    42. u user-oriented format
    43. v virtual memory format
    44. X register format
    45. -y do not show flags, show rss vs. addr (used with -l)
    46. --context display security context (for SELinux)
    47. --headers repeat header lines, one per page
    48. --no-headers do not print header at all
    49. --cols, --columns, --width
    50. set screen width
    51. --rows, --lines
    52. set screen height
    53. Show threads:
    54. H as if they were processes
    55. -L possibly with LWP and NLWP columns
    56. -m, m after processes
    57. -T possibly with SPID column
    58. Miscellaneous options:
    59. -c show scheduling class with -l option
    60. c show true command name
    61. e show the environment after command
    62. k, --sort specify sort order as: [+|-]key[,[+|-]key[,...]]
    63. L show format specifiers
    64. n display numeric uid and wchan
    65. S, --cumulative include some dead child process data
    66. -y do not show flags, show rss (only with -l)
    67. -V, V, --version display version information and exit
    68. -w, w unlimited output width
    69. --help
    70. display help and exit

    以上,感谢。

    2022年11月18日

  • 相关阅读:
    Spark基础【运行架构、RDD】
    我的创作纪念日
    Java开发学习(四十三)----MyBatisPlus查询语句之查询投影
    3、Flowable任务分配和流程变量
    alginate-Ferrocene|海藻酸钠-二茂铁|二茂铁修饰改性海藻酸钠|海藻酸钠-peg-二茂铁
    java计算机毕业设计-旅游产品销售管理-演示录像2020源码+数据库+系统+lw文档+mybatis+运行部署
    我的Go+语言初体验——祝福留言小系统,让她也可以感受到你的祝福
    学习【线程、进程、并发、并行、CPU、GPU】
    AWS认证SAA-C03每日一题
    公关世界杂志公关世界杂志社公关世界编辑部2022年第14期目录
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/127928609