![]() |
1
1
这取决于它是哪种应用程序。 像数据库这样的东西可能会丢失数据(如果它没有一次将所有数据写入持久事务日志),或者下次启动需要更长时间,或者两者兼有。 虽然 Crash-only 是一个很好的原则,目前很少有应用符合它。 例如,mysql数据库不是“仅崩溃”的,如果用kill-9杀死它,将导致启动时间(而不是完全关闭)、数据丢失,或者两者兼有,这取决于设置(在某种程度上,还取决于运气)。 另一方面, Cassandra 实际上鼓励使用kill-9作为关闭机制;它不支持任何其他机制。 |
![]() |
2
4
通常,应用程序可以捕获
更好的方法是使用标准
|
![]() |
3
2
|
![]() |
4
0
应用程序无法捕获终止信号。如果在杀死某个复杂的数据结构时,应用程序正在将其写入磁盘,则该结构可能只写了一半,从而导致数据文件损坏。通常最好实现一些其他信号,如用户1作为“停止”信号,因为这可以被捕获并允许应用程序以受控方式关闭。 |
![]() |
CaTx · 使用带有一个大于号和两个大于号的回波的区别 2 年前 |
![]() |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
![]() |
Ty Q. · 分段故障GLFW3/GLAD 2 年前 |
![]() |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
![]() |
Bastien L. · 多Linux Grafana集成 2 年前 |