kill -9和生产应用程序

val*_*zka 6 linux operating-system kill unicorn

哪个问题可能会导致kill -9生产应用程序(在linux中准确)?

我有应用程序做一些定期工作,停止这些需要很长时间,我不在乎是否会中止某些工作 - 工作可以通过新流程完成.那么我kill -9可以立即使用它来停止它,否则会导致严重的操作系统问题?

例如,Unicorn将其用作正常的工作程序:

当您的应用程序出错时,BOFH可以"杀死-9"失控的工作进程,而不必担心会撕毁所有客户端,只需一个.

但是这篇文章声称:

kill(1)的-9(或KILL)参数永远不应该在Unix系统上使用

PS:我知道kill -9应用程序无法处理,但我知道对于应用程序来说它不会导致任何问题,我只是感兴趣它可以在操作系统级别上引起一些问题吗?shared memory segments active, lingering sockets对我来说听起来很危险

Mar*_*rkR 1

这取决于它是什么类型的应用程序。

像数据库这样的东西可能会丢失数据(如果它没有立即将所有数据写入持久事务日志),或者下次启动需要更长的时间,或者两者兼而有之。

尽管Crash-only是一个很好的原则,但目前很少有应用程序遵循它。

例如,mysql 数据库不是“仅崩溃”,使用kill -9 杀死它会导致启动时间显着延长(比干净关闭)、数据丢失或两者兼而有之,具体取决于设置(并且在某种程度上) , 运气)。

另一方面,Cassandra实际上鼓励使用kill -9 作为关闭机制;它不支持其他任何东西。