Linux中查看进程的命令是 ps aux
a表示查看所有用户的进程,u 表示以面向用户的格式显示,或显示拥有每个进程的用户,x 表示没有控制tty(指各种类型的终端设备)或终端屏幕的进程。列出来的结果包括进程的拥有者、唯一的进程ID编号(PID)、进程正在使用的CPU百分比(%CPU)、内存百分比(%MEM)、晋城的当前状态(STAT)以及进程的名称。
STAT列用不同的字母表示进程的状态
STAT字母 含义
R 运行
S 休眠
T 停止
Z 僵尸
如果某个进程有问题,ps标明其状态为Z,这是或许只有重启计算机才能完全关闭这个进程。
因为ps aux 提供了很多数据,要找到需要搜索的那个进程会很难,一种办法就是讲 ps aux 的输出通过管道传递给 grep,这是一种对特定命令的结果进行限制的简单方法。
ps aux | grep [f]irefox
其中有个问题:为什么搜索的是[f]irefox,而不是firefox,原因是[f]是正则表达式,表示从 f - f 匹配所搜索的内容,他不会匹配grep 搜索的信息,只会列出实际的firefox进程的信息。
查看进程树的命令: ps axuf
Linux 所有进程最初都来自 init ,他是所有进程的源头,其PID 总为1,此命令可以提供该进程数的一种基于文本的表现方式,这样就能可视化地看看该进程又创建了哪些其他进程。f 就是用来显示进程树。另外一个命令 ps axjf也是查看进程树,只不过会增加一列 PPID ,表示父进程的 PID,有了PPID 和PID 就可以种植任何失控进程。
查看特定用户拥有的进程: ps U 用户名
种植正在进行的进程:kill PID(PPID)
与 kill 命令关联的常用信号
信号编号 信号单词 含义
1 HUP(hang up) 控制进程已经死了,关闭进程(如果用于系统的服务,会导致重新加载配置文件 并重启)
15 TERM(默认值) 正常终止进程,清除将要失控的进程和文件
9 KILL 停止任何正在进行的处理,马上关闭