linux怎么停止进程

我记得有一次在办公室使用 MacBook 时,突然出现一堆 Firefox 窗口,半卡住,散热器很烫。
我快速打开终端并输入 ps aux | grep firefox 发现PID是1 2 3 4 5 ,当时没多想,就kill了-9 1 2 3 4 5 ,几秒就解决了问题。
后来我发现Firefox没有保存任何重要的草稿,我感到有点担心。
然后打开终端kill -1 5 1 2 3 4 5 试试,它就乖乖退出了。
所以有时候暴力并不是最快的方法。

linux怎么停止程序运行

说白了,Linux中有四种杀死进程的方法。
关键取决于你的情况:对于系统服务使用systemctl,如果知道PID则使用kill,使用pkill查找一组同名的进程,对于在终端中运行的程序只需Ctrl+C。

我先说最重要的一点。
Kill 命令是最常用的。
在我们去年运行的项目中,缓存过程被卡住了。
Kill-9 PID直接让系统慢了半个晚上。
用行话来说,这称为雪崩效应。
事实上,前线的一个小小的延误就导致了后线的一切崩溃。
还有一点是pkill特别适合批量操作。
例如,如果你的服务器上有很多Python脚本,你可以使用 pkill -f "python.script.py" 立即删除它们。
这比一一检查PID要容易得多。
还有另一个关键细节。
Systemctl专门从事系统服务,例如nginx。
使用 stop 命令优雅地停止它,然后使用 Enable=False 完全中和它。
下次启动时它不会自动启动。

一开始我以为kill-9 很厉害,后来发现不对。
一旦数据库进程被强行终止,数据文件就直接被破坏了——说实话,还是挺尴尬的。
等等,还有一件事。
您可以直接在top/htop中选择要终止的进程,而无需记住PID。
很多人没有注意到。

我们建议您首先尝试 SIGTERM 并等待该过程自行完成,然后再采取行动,除非您非常焦虑。