要点:
-
$ ps aux
查看系统所有进程 -
$ ps aux | grep <name>
使用grep过滤输出 -
$ kill -15 <pid>
终止进程 -
$ pkill -15 -f spring
关闭所有名为"spring"的进程
以下摘自Ruby on Rails Tutorail
在 Unix 类系统中,例如 Linux 和 macOS,用户和系统执行的任务都在包装良好的容器中,这个容器叫进程(process)。
若想查看系统中的所有进程,可以执行 ps 命令,并指定 aux 选项:
$ ps aux
若想过滤输出的进程,可以使用 Unix 管道(|)把 ps 命令的结果传给 grep,进行模式匹配:
$ ps aux | grep spring
ubuntu 12241 0.3 0.5 589960 178416 ? Ssl Sep20 1:46 spring app | sample_app | started 7 hours ago
显示的结果中有进程的部分详细信息,其中最重要的是第一个数字,即进程的 ID(PID)。若要终止不 想要的进程,可以使用 kill 命令,向指定的 PID 发送 Unix 终止信号(恰巧是 15):
$ kill -15 12241
关闭单个进程,例如不再使用的 Rails 服务器进程(可执行 ps aux | grep server 命令找到 PID),我推荐使用这种方法。不过,有时最好能批量关闭进程名中包含特定文本的进程,例如关闭系统中所有的 spring 进程。对 Spring 来说,首先应该尝试使用 spring 命令关闭进程:
$ spring stop
不过,有时这么做没用,此时可以使用 pkill 命令关闭所有名为“spring”的进程:
$ pkill -15 -f spring
只要发现表现异常,或者进程静止了,最好执行 ps aux 命令看看怎么回事,然后再执行 kill -15 <pid>
或 pkill -15 -f <name> 命令关闭进程