查看和终止Unix进程

要点:

  1. $ ps aux查看系统所有进程
  2. $ ps aux | grep <name> 使用grep过滤输出
  3. $ kill -15 <pid>终止进程
  4. $ 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> 命令关闭进程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容