ps命令是Linux查看进程的工具。常用选项:-e或-A查看所有进程;-u指定用户;-p指定PID;-ef显示完整命令行,常配合grep按名查找;-t指定终端;-eo自定义字段并可按状态过滤;使用方括号如[grep]避免grep自身进程干扰。另外-aux可显示所有用户进程及完整信息,-f全格式。
ps 命令在 Linux 系统里算得上是查看进程状态的老牌工具了。它并不复杂,但配合不同的选项和参数,几乎可以满足你所有查找进程的需求。下面就来梳理几种最常用的场景,都是实际工作中会频繁碰到的。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
直接敲 ps -e 或者 ps -A,系统就会把当前所有进程一股脑列出来。如果你想全局扫一眼系统里到底跑了些什么,这是最快的方式。
ps -e
或者
ps -A
如果想看某个用户都启动了哪些进程,用 -u 参数跟上用户名就行。比如查 root 用户的进程,就是 ps -u root。
ps -u username
已经知道进程号(PID)了?直接用 -p 参数指定,精确命中目标。
ps -p pid
这是最常用的组合——ps -ef 输出所有进程的详细信息,再通过管道交给 grep 过滤出你要的名字。比如找叫 nginx 的进程:
ps -ef | grep nginx
如果想知道某个终端(tty)下跑着哪些进程,用 -t 参数指定终端名称。比如 ps -t pts/0。
ps -t tty
进程有各种状态——运行中(R)、休眠(S)、僵尸(Z)等等。用 -eo 自定义输出字段,就可以方便地筛选。举个例子,只看当前处于运行状态的进程:
ps -eo state,pid,ppid,cmd | grep 'R'
这条命令会列出所有进程的状态、PID、父进程 PID 和命令行,然后只保留状态为 R 的行。
一个经典的小技巧:当用 ps -ef | grep process_name 时,grep 命令本身也会被列出来,容易造成误判。解决办法是把进程名的第一个字母用方括号括起来,比如搜索 process_name 改成 [p]rocess_name。这样 grep 的正则匹配会忽略自身,结果干净很多。
ps -ef | grep '[p]rocess_name'
把上面这些选项灵活组合起来,基本就能应对绝大多数查找进程的需求了。关键还是多试几次,你会发现 ps 比你想象的更顺手。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述