ps命令 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到。
命令:
ps -eo pid,ppid,sid,tty,pgrp,comm,stat,cmd|grep -E 'bash|PID|nginx'
输出:
PID PPID SID TT PGRP COMMAND STAT CMD
6231 6223 6231 pts/0 6231 bash Ss bash
92043 6223 92043 pts/4 92043 bash Ss+ bash
393119 6223 393119 pts/6 393119 bash Ss bash
489068 6223 489068 pts/7 489068 bash Ss+ bash
802196 802181 802196 pts/1 802196 bash Ss+ /usr/bin/bash --init-file /usr/share/code/resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh
802278 6223 802278 pts/2 802278 bash Ss+ bash
805414 2556 805414 ? 805414 nginx Ss master process ./nginx
805415 805414 805414 ? 805414 nginx Sl worker process
805432 802181 805432 pts/3 805432 bash Ss /usr/bin/bash --init-file /usr/share/code/resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh
805862 805432 805432 pts/3 805861 grep S+ grep --color=auto -E bash|PID|nginx
解析:
从当前运行的进程中筛选出包含特定关键字的进程信息。
逐步解析这个命令:
命令解析
ps -eo pid,ppid,sid,tty,pgrp,comm,stat,cmd
ps
: 是查看当前进程状态的命令。-e
: 显示所有进程。-o
: 指定输出格式。后面的选项表示所需的列:pid
: 进程 IDppid
: 父进程 IDsid
: 会话 IDtty
: 控制终端pgrp
: 进程组 IDcomm
: 命令名stat
: 进程状态cmd
: 启动命令及参数
接下来是筛选操作:
| grep -E 'bash|PID|nginx'
|
: 管道符,把前面的输出传递给后面的命令。grep
: 用于在输入中搜索指定的模式。-E
: 允许使用扩展正则表达式。'bash|PID|nginx'
: 搜索包含bash
、PID
或nginx
的行。
意图
这个命令的意图是列出系统中所有进程的信息,并过滤出与 bash
或 nginx
相关的进程,同时还包括表头 PID
的信息。