📌  相关文章
📜  用户的 ubuntu 终止进程 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:11:18.966000             🧑  作者: Mango

用户的Ubuntu终止进程 - Shell-Bash

在Ubuntu系统中,有时候需要终止某些运行的进程,以释放资源或解决一些问题。在本文中,我们将会学习如何在 shell-bash 中通过命令终止用户的进程。

列出当前正在运行的进程

首先,我们可以通过 ps 命令来列出当前正在运行的进程。该命令会列出所有正在运行的进程,以及每个进程的 PID(进程 ID)。

$ ps aux

其中,-a 参数表示显示所有用户的进程(not just own),-u 表示显示用户名称和启动时间,-x 表示包括没有控制终端的进程(也就是常说的 daemon 进程)。

终止单个进程

如果想要终止单个进程,可以使用 kill 命令。该命令尝试向指定 PID 发送一个信号,使得进程能够响应该信号。默认情况下,kill 命令会发送信号 TERM,该信号会使进程优雅地终止。

$ kill <PID>

其中,<PID> 表示要终止的进程的 PID。

如果该进程没有响应 TERM 信号,那么可以使用 -9 参数,强制终止该进程。

$ kill -9 <PID>
终止多个进程

如果想要同时终止多个进程,可以借助 xargs 命令和 kill 命令的组合。具体来说,我们可以使用 ps 命令列出所有相关进程的 PID,将其作为 xargs 命令的输入,将每个 PID 传递给 kill 命令进行终止。

$ ps aux | grep <PROCESS_NAME> | awk '{print $2}' | xargs kill

其中,<PROCESS_NAME> 表示要终止的进程的名称,例如 nginxapache2

以上命令会执行以下操作:

  1. ps aux 命令列出所有正在运行的进程。
  2. grep <PROCESS_NAME> 命令过滤出名称包含 <PROCESS_NAME> 的进程。
  3. awk '{print $2}' 命令提取出每个进程的 PID。
  4. xargs kill 命令将每个 PID 传递给 kill 命令进行终止。
注意事项

在终止进程时需要格外小心,确保不要意外终止正常运行的进程。如果不确定想要终止的进程是否安全,可以使用 htop 命令来可视化查看进程情况,以确保安全。

$ sudo apt-get install htop
$ htop
结论

通过本文,我们学习了如何在 Ubuntu 中使用 shell-bash 命令终止用户的进程。使用 ps 列出当前正在运行的进程,使用 kill 命令终止单个或多个进程。需要注意确保安全,避免意外终止正常运行的进程。