问题标签 [shutdown-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
348 浏览

.net - 在 Win7 x64 上的 .NET WPF 应用程序中连接到操作系统关闭事件?

这似乎是不可能完成的任务?
根据此页面上的评论:http: //msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx,其他人也无法归档它。

哪个事件最适合使用?会话。结束?出口?

感谢您的任何提示!
萨沙

0 投票
4 回答
3135 浏览

php - 如何在 PHP 的关闭函数中检查退出是否干净?

如何在 PHP 的关闭函数中测试退出是否干净?

干净退出是指脚本没有因错误而终止。

0 投票
5 回答
9678 浏览

php - 来自 PHP 中注册的关闭函数的 debug_backtrace()

在修补这个问题的答案时,我发现当从其中调用时,debug_backtrace()它不会超出注册到的函数register_shutdown_function()

这在 PHP 文档的评论中提到,说明:register_shutdown_function()

您可能会想到从关闭函数内部调用 debug_backtrace 或 debug_print_backtrace 来跟踪发生致命错误的位置。不幸的是,这些函数在关闭函数中不起作用。

解释得更详细一点,对此答案状态的评论:

不工作。关闭功能在堆栈展开后发生。没有要转储的堆栈信息。

有什么办法可以规避这种情况,强制 PHP 保留堆栈跟踪,直到进程完全终止,还是由于 PHP 内部机制我们应该接受它作为给定的?

0 投票
2 回答
1192 浏览

java - 为什么 ShutdownHookThread 'setDaemon true'

我最近需要向我拥有的 Scala 应用程序添加一个关闭挂钩,我发现 Scala 为此提供了一个名为ShutdownHookThread的帮助程序。在其源代码中,我注意到它将新线程设置为守护线程

为什么这样做?在我看来,您可能希望在关闭挂钩线程中相反(即确保线程在关闭 jvm 之前退出)。还是守护进程/非守护进程与关闭挂钩无关?

0 投票
2 回答
1395 浏览

java - 防止关机钩子后关机

所以,我应该处理 Ctrl-C。好的,我可以通过注册一个关闭挂钩来做到这一点。在我想防止关机之前它运行良好。当按下 Ctrl-C 时,我想问用户他是否真的想关闭应用程序,如果他不是,那么我希望我的应用程序继续运行。问题是我不知道如何在按下 Ctrl-C 后防止关机。

有什么帮助吗?:)

0 投票
2 回答
203 浏览

flash - 在页面离开时运行代码 [Actionscript]

当带有我的 flash 对象的页面是……嗯……我不确定这个术语时,我如何在 Actionscript 3 中运行代码。

什么时候离开网页,退出flash小程序?

0 投票
1 回答
3622 浏览

java - 应用程序“强制关闭”时是否有任何关闭挂钩?

如果用户强制关闭java(通过任务管理器或关闭相应的批处理文件),有什么方法可以使程序通过关闭挂钩。

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

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

0 投票
2 回答
509 浏览

java - 多线程应用程序中的 ShutDownHook

我有一个应用程序,它在其主要方法中产生了一百个线程(假设我们模拟了一百个帐户)。我正在试验它,我希望它在被 Control-C 打断时只打印终止。

我读到你可以用 ShutDownHooks 做到这一点,所以我在我的主要方法中添加了以下内容:

但是,当我运行它时,什么都没有打印出来。

您能否就我出错的地方提供一些指导(所有线程都在 for 循环中声明并从调用它们的 start 方法开始)?

问候,乔治

编辑:请参阅下面的代码:

银行类:

银行测试类:

TransferRunnable 类:

0 投票
2 回答
875 浏览

java - 从 ShutdownHook 中查找程序退出的原因

如果我有一个可以因各种原因退出的 Java 程序,例如:

  • 因为设置为“关闭时退出”的主窗口已关闭

  • 因为代码中有一些 System.exit( 0 )

  • 因为根本没有更多的窗口(并且没有设置在关闭时退出)但是仍然有几个线程在运行,然后在某一时刻只有守护线程在运行,因此程序退出。

而且我安装了一个关闭挂钩(运行良好)。

有什么方法可以从我的关闭挂钩中知道是什么导致 Java 程序退出?

(请注意,我不是在问这是否是一个好主意或不System.exit(...)传播代码库:这不是这个问题的目的)

基本上我想知道我是否被迫拦截每一个可能的 JVM 退出点并在那里添加信息,或者是否已经有一种方法允许这样做。

0 投票
2 回答
951 浏览

java - 等待线程在shutdownhook中写入更改

我有一个shutdownhook,它在进程终止时执行。但是,程序对 h2 数据库所做的更改不是持久的。只有在提交后让关闭线程等待一段时间,当我再次分层时,我才会看到数据库中的变化。

仅使用sleep,我将在下次连接到数据库时看到更改。

有人知道如何在进程终止之前等待 H2 数据库完成操作吗?我想避免Thread.sleep()随机时间...