一些(但不是全部)长期运行的第三方应用程序(例如 Matlab 和 Cygwin 进程)似乎会神秘终止

一些(但不是全部)长期运行的第三方应用程序(例如 Matlab 和 Cygwin 进程)似乎会神秘终止

我在 Windows 10 上执行了多天的 Matlab 作业。连续两次,当作业运行了大约一天时,我发现 Matlab 进程和我的 Cygwin Xterm 和 Gvim 进程都消失了。Firefox 和 Outlook 2013 仍在运行。

我查看了 Matlab 日志文件(即其“日记”),发现典型的输出突然在文本行的中间结束,这表明中断非常异常。我的 Matlab 代码创建了一个“onCleanup”对象,该对象在被销毁时将缓冲的输出刷新到日记中,这进一步证实了中断的突然性,很明显,该对象甚至没有机会被销毁。

由于 Cygwin X-Windows 也不再运行,因此问题似乎不是 Matlab 独有的。Cygwin 进程与 Matlab 进程无关,也就是说,Matlab 不是 X-windows 进程,也不是从 Bash 启动的。

我怎样才能开始追查导致这些终止的原因?


确凿证据:Windows 更新和重启

按照用户1686的评论之后,我运行了事件查看器。顶级容器是“事件查看器(本地)”。其中有一个“Windows 日志”容器,其中包含“应用程序”和“系统”容器。“应用程序”中没有任何可疑内容,但“系统”容器包含以下可疑事件:

Level: Information
Date and Time: 2022-04-16 12:25:01 AM
Source: User32
Event ID: 1074
Task Category: None

在观看过程中,“常规”选项卡包含:

The process C:\WINDOWS\system32\svchost.exe (*computer name*) has initiated the restart of computer *computer name* on behalf of user NT AUTHORITY\SYSTEM for the following reason: Operating System: Service pack (Planned)

Log Name: System
Source: User32
Event ID: 1074
Level: Information
User: SYSTEM
OpCode: Info
More Information: Event Log Online Help (this is a hyperlink)
Logged: 2022-04-16 12:25:01 AM
Task Category: None
Keywords: Classic
Computer: *Computer name*

确凿的证据是时间戳为 12:25:01 AM。这与 Matlab 每 30 秒左右更新一次的文件的时间戳相吻合。具体来说,ls -l显示时间戳Apr 16 00:25(我无法使用它ls来获取更精确的时间,因为我重新启动了 Matlab 作业,这会破坏文件)。

我无法完全表达我对默认行为未经用户确认就重新启动的震惊。我的下一步是防止这种情况发生。欢迎任何线索。我考虑过开始一个新问题,但这似乎仍然属于这个问题的标题。谢谢。

PS:我发现 Firefox 和 Outlook 仍在运行,这很奇怪。也许 Windows 试图破坏任何进程以准备重新启动,但无法破坏 Firefox 和 Outlook。

答案1

PS:我发现 Firefox 和 Outlook 仍在运行,这很奇怪。也许 Windows 试图破坏任何进程以准备重新启动,但无法破坏 Firefox 和 Outlook。

操作系统重启必然会导致死亡全部进程,无一例外——但实际发生的情况是 Firefox 和 Outlook 将自己注册为自动重启在 Windows 重启后(类似于以前在 Linux X11 环境中看到的 XSMP“会话保存”机制),而其他应用程序则不会这样做。

相关内容