杀死进程实际上并没有在linux中杀死它

时间:2015-03-12 05:46:17

标签: linux

我试图使用kill -9 PID杀死在我的服务器上运行的数据库,杀死之后如果我看到进程正在运行,数据库仍在运行另一个PID,我怎么能真正杀死它

1 个答案:

答案 0 :(得分:2)

特别是对于数据库守护程序,你应该从不使用kill -9又名kill -KILL来杀死它,因为当你用SIGKILL基础数据文件杀死它时会处于不一致的状态(运气不好,你可能会丢失所有的数据库!)。要杀死这样一个进程,你真的应该使用kill -TERMkill -QUIT因为数据库代码很可能适当地处理这些信号(通过使数据文件保持一致状态)。请注意,无法捕获SIGKILL signal(7)。显然,该守护进程由启动它的系统脚本(或某些systemd或其他init)重新启动。

我们不知道您正在谈论的DBMS以及您拥有的Linux发行版,但很可能您的系统有一些命令可以正确停止DBMS,例如: /etc/rc.d/mysql stopmysqladmin shutdownpg_ctl stop或其他。