<分区>
我正在尝试使用 kill -9 PID 杀死在我的服务器中运行的数据库,在杀死它之后,如果我看到进程正在运行,数据库仍在使用另一个 PID 运行,我该如何真正杀死它
标签 linux
<分区>
我正在尝试使用 kill -9 PID 杀死在我的服务器中运行的数据库,在杀死它之后,如果我看到进程正在运行,数据库仍在使用另一个 PID 运行,我该如何真正杀死它
最佳答案
特别是对于数据库守护进程,你应该永远不要用kill -9
a.k.a. kill -KILL
杀死它,因为当你杀死它时使用 SIGKILL
时,底层数据文件将处于不一致状态(因此如果运气不好,您可能会丢失所有数据库!)。要终止这样的进程,您确实应该使用 kill -TERM
或 kill -QUIT
因为数据库代码很可能会适本地处理这些信号(通过将数据文件保留在一致的状态)。请记住 SIGKILL
signal(7)不能被捕获。显然,该守护进程由启动它的系统脚本重新启动(或由一些 systemd 或其他 init )。
我们不知道您在谈论什么 DBMS 以及您使用的是什么 Linux 发行版,但很可能您的系统有一些命令可以正确停止 DBMS,例如/etc/rc.d/mysql stop
或 mysqladmin shutdown或 pg_ctl stop或其他。
关于linux - 在 linux 中杀死一个进程实际上并不会杀死它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29002686/