问题标签 [shutdown]

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 投票
3 回答
3064 浏览

c# - 如何知道应用程序正在关闭

有一个 WPF 应用程序。

我想在应用程序关闭时登录。

但我不能修改应用程序(一些限制,只是因为业务)。

所以我在现有应用程序中创建了一个不可见的表单组件,添加为 dll 库,因此不需要修改现有应用程序。

但问题是,我的隐形组件如何知道应用程序正在关闭?

我可以使用一些函数或事件处理程序吗?

解决方案:

有一些事件可以做到这一点,

卸载 关闭 关闭

当主窗口将要关闭时,所有这三个事件都将被触发。

问题解决了

0 投票
2 回答
171339 浏览

windows - 如何获取 Windows 上次重启的原因

我想知道提供有关上次 Windows 重新启动源信息的 Windows API 函数(如果存在)是什么。可能的原因主要有以下三种:

  1. 电脑蓝屏死机
  2. 用户或程序关闭/重新启动计算机
  3. 失去了力量

我能得到的细节越多越好。但是,我至少需要知道主要的原因是什么。

我需要支持 Windows Vista 和 Windows 7。

回答:

似乎没有直接的 API 可以获取该信息。相反,我们必须收集 Windows 事件日志。系统重新启动信息位于事件查看器/Windows 日志/系统中。以下是事件 ID 提供的各种信息:

  • 6005:Windows 启动
  • 6006:Windows 关闭(正确)
  • 6008:Windows 关闭(意外)

我还没有明白断电和系统崩溃之间的区别,但这是一个好的开始。

0 投票
1 回答
1860 浏览

tomcat6 - tomcat6关闭端口不监听

我在 ubuntu9 上运行 tomcat6,并在 server.xml 中将关闭端口指定为 8005。但是,当我执行 netstat -tln 时,我看不到端口 8005 正在侦听。我可以做tomcat6 restart|start|stop 没问题。

为什么它不在端口 8005 上侦听?

谢谢

0 投票
2 回答
1550 浏览

windows - 为什么即使我将 FALSE 返回到 WM_QUERYENDSESSION 消息,其他应用程序仍会关闭

我有一个带有窗口的小应用程序,它正在侦听 WM_QUERYENDSESSION 消息并返回 FALSE - 这应该告诉 Windows 我不希望它关闭(请参阅此 MSDN 链接)。

我发现即使我要求 Windows 不关闭,并且 Windows 本身也没有关闭,它仍然发送 WM_ENDSESSION 消息并关闭与我自己一起运行的其他应用程序。

有谁知道为什么会发生这种情况以及可以做些什么来使我的应用程序也防止其他应用程序关闭?

0 投票
3 回答
14782 浏览

java - 如何正确关闭 Derby 内存数据库

我使用 derby 作为嵌入式数据库。此外,我正在使用它的内存数据库选项进行单元测试。

我不知道如何正确关闭(快速查看代码) Derby 数据库。我相信我可以将它用于标准数据库,但是在内存数据库上尝试类似代码时会遇到不同的异常。

我将省略细节,如果需要其他感觉,我会添加它们。

基本上,我试图以这两种方式关闭我的数据库,其中我的内存数据库一直被称为“eh”:

然后:

前者导致异常,但不是预期的。详情如下:

java.sql.SQLNonTransientConnectionException:数据库“内存:eh”关闭。

后者导致

java.sql.SQLException:找不到数据库“eh”。

根据我能够弄清楚的情况,我们想要一个SQLException但不是我们收到的那个。另一方面,SQLNonTransientConnectionException错误似乎更合适,但不是正确的类型(尽管它是从 派生的SQLException),也没有正确的状态代码。状态代码最终是:08006.

我的示例代码说明SQLException了 SQL 状态为“XJ015”的情况。

注意:我引用的示例是:WwdEmbedded 程序Java 代码)。

0 投票
3 回答
17125 浏览

windows - 带有破折号或斜杠的shutdown.exe 参数?

我使用调用shutdown.exe来重新启动安装了不同版本 Windows 的机器。

对于 Windows XP,命令是:

对于其他版本的 Windows,我使用:

现在看来,第二个命令在 Windows XP 上不起作用。有人知道哪些版本的 Windows 支持斜杠和哪些破折号?

编辑:

这不是错误参数的问题。这是受影响机器的打印输出(德国安装的 Windows XP):

0 投票
1 回答
2167 浏览

java - addShutdownHook 和 setUncaughtExceptionHandler 在 java 中不能按预期工作

我有一个多线程程序,我有一个线程来监视多个线程。功能设计如下:

主程序启动并启动观察者线程,在 void Main() 中,我有这条线

当我不启动观察者线程时,当我终止程序时会调用 ShutdownThread,但是当我启动其中有死循环的观察者线程时,不会调用 ShutdownThread(我在该线程中打印出一条消息) . 这是非常非常奇怪的。有什么解释吗?

观察者线程是这样的:

我想要的是一个优雅的关闭,在收到终止信号时,shutdownThread 运行,设置一个标志并中断所有线程,并等待线程中断它,或者它超时以便可以杀死剩余的线程。所有线程都可以捕捉到一个中断,并检查是否设置了一个标志,如果设置了,它将中断shutdownThread,然后自行退出。相反,我看到的是所有线程都在自行终止,根本不做任何清理。

如何使用信号?有什么好的跨平台代码吗?

然后, setUncaughtExceptionHandler 也不起作用。我做了测试,发现根本没有调用处理程序。我不知道为什么。处理程序的代码是:

我用它钩住它

在我的代码中,而我只看到原始的 e.printStack()。似乎我无法在父线程中或在其本身中覆盖它。这太令人沮丧了。我正在考虑将条目放入队列中,然后在其他地方阅读。至少这可能会奏效。

哦,整个目的是确保如果任何线程因运行时异常而死亡,观察者线程将检查异常是否足够致命,并决定重新启动该线程或完全退出。同时,我希望程序在用户结束时优雅地结束(向保护线程发送一个中断,以便它转储结果,然后中断返回告诉我们准备退出)。

0 投票
1 回答
2682 浏览

python - 防止 Windows 7 关机

我知道这shutdown -a将中止 Windows 关闭,但我需要知道是否有任何可以检查的地方以查看是否正在进行关闭。

理想情况下,我想要一个像这样的小程序:

0 投票
2 回答
1039 浏览

java - Java:我如何对 Windows XP 中的计算机关闭做出反应?

当用户在 Windows XP(可选,win7)上使用 Java 关闭计算机时,是否可以制作一些处理程序来执行某些操作?如何?

谢谢。

0 投票
2 回答
1211 浏览

java - 阻止窗口关闭

我每次都需要在 Windows 关闭过程之前执行一些代码。所以,我想阻止 Windows 关机过程一段时间。我如何从 Java 或 C++ Builder 中做到这一点?

谢谢。