问题标签 [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.
.net - 在 Win7 x64 上的 .NET WPF 应用程序中连接到操作系统关闭事件?
这似乎是不可能完成的任务?
根据此页面上的评论:http: //msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx,其他人也无法归档它。
哪个事件最适合使用?会话。结束?出口?
感谢您的任何提示!
萨沙
php - 如何在 PHP 的关闭函数中检查退出是否干净?
如何在 PHP 的关闭函数中测试退出是否干净?
干净退出是指脚本没有因错误而终止。
php - 来自 PHP 中注册的关闭函数的 debug_backtrace()
在修补这个问题的答案时,我发现当从其中调用时,debug_backtrace()
它不会超出注册到的函数register_shutdown_function()
。
这在 PHP 文档的评论中提到,说明:register_shutdown_function()
您可能会想到从关闭函数内部调用 debug_backtrace 或 debug_print_backtrace 来跟踪发生致命错误的位置。不幸的是,这些函数在关闭函数中不起作用。
解释得更详细一点,对此答案状态的评论:
不工作。关闭功能在堆栈展开后发生。没有要转储的堆栈信息。
有什么办法可以规避这种情况,强制 PHP 保留堆栈跟踪,直到进程完全终止,还是由于 PHP 内部机制我们应该接受它作为给定的?
java - 为什么 ShutdownHookThread 'setDaemon true'
我最近需要向我拥有的 Scala 应用程序添加一个关闭挂钩,我发现 Scala 为此提供了一个名为ShutdownHookThread的帮助程序。在其源代码中,我注意到它将新线程设置为守护线程。
为什么这样做?在我看来,您可能希望在关闭挂钩线程中相反(即确保线程在关闭 jvm 之前退出)。还是守护进程/非守护进程与关闭挂钩无关?
java - 防止关机钩子后关机
所以,我应该处理 Ctrl-C。好的,我可以通过注册一个关闭挂钩来做到这一点。在我想防止关机之前它运行良好。当按下 Ctrl-C 时,我想问用户他是否真的想关闭应用程序,如果他不是,那么我希望我的应用程序继续运行。问题是我不知道如何在按下 Ctrl-C 后防止关机。
有什么帮助吗?:)
flash - 在页面离开时运行代码 [Actionscript]
当带有我的 flash 对象的页面是……嗯……我不确定这个术语时,我如何在 Actionscript 3 中运行代码。
什么时候离开网页,退出flash小程序?
java - 应用程序“强制关闭”时是否有任何关闭挂钩?
如果用户强制关闭java(通过任务管理器或关闭相应的批处理文件),有什么方法可以使程序通过关闭挂钩。
我的程序目前运行良好,如果用户关闭 GUI,它会通过一系列步骤断开与数据库的连接。但是,如果用户关闭 Java 或批处理文件(与 GUI 并行运行),则不会关闭与数据库的连接。
是否有可能以某种方式强制关闭连接,甚至可能从表中删除某些内容?当我 jar 程序时,批处理文件可能不会成为问题,但进程终止仍然会。
java - 多线程应用程序中的 ShutDownHook
我有一个应用程序,它在其主要方法中产生了一百个线程(假设我们模拟了一百个帐户)。我正在试验它,我希望它在被 Control-C 打断时只打印终止。
我读到你可以用 ShutDownHooks 做到这一点,所以我在我的主要方法中添加了以下内容:
但是,当我运行它时,什么都没有打印出来。
您能否就我出错的地方提供一些指导(所有线程都在 for 循环中声明并从调用它们的 start 方法开始)?
问候,乔治
编辑:请参阅下面的代码:
银行类:
银行测试类:
TransferRunnable 类:
java - 从 ShutdownHook 中查找程序退出的原因
如果我有一个可以因各种原因退出的 Java 程序,例如:
因为设置为“关闭时退出”的主窗口已关闭
因为代码中有一些 System.exit( 0 )
因为根本没有更多的窗口(并且没有设置在关闭时退出)但是仍然有几个线程在运行,然后在某一时刻只有守护线程在运行,因此程序退出。
而且我安装了一个关闭挂钩(运行良好)。
有什么方法可以从我的关闭挂钩中知道是什么导致 Java 程序退出?
(请注意,我不是在问这是否是一个好主意或不System.exit(...)
传播代码库:这不是这个问题的目的)
基本上我想知道我是否被迫拦截每一个可能的 JVM 退出点并在那里添加信息,或者是否已经有一种方法允许这样做。
java - 等待线程在shutdownhook中写入更改
我有一个shutdownhook,它在进程终止时执行。但是,程序对 h2 数据库所做的更改不是持久的。只有在提交后让关闭线程等待一段时间,当我再次分层时,我才会看到数据库中的变化。
仅使用sleep
,我将在下次连接到数据库时看到更改。
有人知道如何在进程终止之前等待 H2 数据库完成操作吗?我想避免Thread.sleep()
随机时间...