[Linux] 学习笔记1-查看进程的命令(ps/top/pstree/pgrep)

2022-04-19 11:47:35 浏览数 (1)

  • linux查看进程的命令有:

1、PS命令,该命令可以查看哪些进程正在运行及其运行状态;

2、Top命令,该命令可以实时显示各个线程情况;

3、Pstree命令,该命令以树状图的方式展现进程之间的派生关系;

4、Pgrep命令等等。

  1. Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

语法

代码语言:javascript复制
ps [options][--help]

参数

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • au(x) 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
    • USER: 行程拥有者
    • PID: pid
    • %CPU: 占用的 CPU 使用率
    • %MEM: 占用的记忆体使用率
    • VSZ: 占用的虚拟记忆体大小
    • RSS: 占用的记忆体大小
    • TTY: 终端的次要装置号码 (minor device number of tty)
    • STAT: 该行程的状态:
    • START: 行程开始时间
    • TIME: 执行的时间
    • COMMAND:所执行的指令

实例

查找指定进程格式:

代码语言:javascript复制
ps -ef | grep 进程关键字

例如显示 emqx 的进程:

代码语言:javascript复制
# ps -ef | grep php

显示进程信息:ps

显示指定用户信息

代码语言:javascript复制
# ps -u root //显示root进程用户信息

显示所有进程信息,连同命令行

代码语言:javascript复制
# ps -ef //显示所有命令,连带命令行

2.Top命令 top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。

3.Pstree命令 pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。 Pstree命令语法: pstree(选项) -a显示完整命令及参数-c重复进程分别显示-c显示进程ID、PID -n按PID排列进程PSTR

4. Pgrep命令 pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。 Pgrep命令语法:

pgrep [options] <pattern>

pgrep(选项)(参数)

代码语言:javascript复制
-d, --delimiter <string>  specify output delimiter
 -l, --list-name           list PID and process name
 -a, --list-full           list PID and full command line
 -v, --inverse             negates the matching
 -w, --lightweight         list all TID
 -c, --count               count of matching processes
 -f, --full                use full process name to match
 -g, --pgroup <PGID,...>   match listed process group IDs
 -G, --group <GID,...>     match real group IDs
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -P, --parent <PPID,...>   match only child processes of the given parent
 -s, --session <SID,...>   match session IDs
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <ID,...>       match by effective IDs
 -U, --uid <ID,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 --ns <PID>                match the processes that belong to the same
namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts


 -h, --help     display this help and exit
 -V, --version  output version information and exit

-l显示进程名和进程PID -o进程起始ID -n进程终止ID

0 人点赞