gpt4 book ai didi

java - 应用程序为 "Force Closed"时是否有任何关闭 Hook ?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:53:54 26 4
gpt4 key购买 nike

如果用户强制关闭java(通过任务管理器或通过关闭相应的批处理文件),有没有办法让程序通过关闭 Hook 。

我的程序目前运行良好,如果用户关闭 GUI,它会通过一系列步骤断开与数据库的连接。但是,如果用户关闭 Java 或批处理文件(与 GUI 并行运行),则与数据库的连接不会关闭。

是否有可能以某种方式强制关闭连接,甚至可能从表中删除某些内容?当我 jar 程序时,批处理文件可能不是问题,但进程终止仍然会。

最佳答案

没有。

关闭 Hook 将对 Ctrl+C、正常关闭、用户注销和正常系统关闭(请求正常关闭所有应用程序)作出 react 。

但是,如果有人强行关闭应用程序,则假定这正是您真正想要的 - 立即终止,恕不另行通知。这个问题已被问过很多次,并且被许多应用程序的行为所迷惑,当它们被要求强制关闭时,它们实际上需要很长时间才能最终终止。这是因为在操作系统释放所有资源的努力中,一些资源(特别是某些 I/O 和/或文件资源)没有立即释放。

在测试一个启动的应用程序,并且打算一直运行到正常关闭(例如服务器软件),您应该在控制台/命令行上运行它,然后按 Ctrl+C 以停止程序(这将运行关闭 Hook )而不是使用任务管理器或 KILL -9。

此外,如果 Java 愿意,它甚至无能为力。强制关闭发生在操作系统级别,此时它释放正在使用的内存、文件和 I/O 句柄等。Java 不(也没有任何其他程序)控制强制关闭。此时,操作系统负责。

关于java - 应用程序为 "Force Closed"时是否有任何关闭 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com