📅  最后修改于: 2023-12-03 15:11:18.966000             🧑  作者: Mango
在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>
表示要终止的进程的名称,例如 nginx
或 apache2
。
以上命令会执行以下操作:
ps aux
命令列出所有正在运行的进程。grep <PROCESS_NAME>
命令过滤出名称包含 <PROCESS_NAME>
的进程。awk '{print $2}'
命令提取出每个进程的 PID。xargs kill
命令将每个 PID 传递给 kill
命令进行终止。在终止进程时需要格外小心,确保不要意外终止正常运行的进程。如果不确定想要终止的进程是否安全,可以使用 htop
命令来可视化查看进程情况,以确保安全。
$ sudo apt-get install htop
$ htop
通过本文,我们学习了如何在 Ubuntu 中使用 shell-bash 命令终止用户的进程。使用 ps
列出当前正在运行的进程,使用 kill
命令终止单个或多个进程。需要注意确保安全,避免意外终止正常运行的进程。