我在 Windows 10 上执行了多天的 Matlab 作业。在连续两次的情况下,当作业运行了大约一天时,我发现 Matlab 进程以及我的 Cygwin Xterm 和 Gvim 进程都消失了。Firefox 和 Outlook 2013 仍在运行。
我查看了 Matlab 日志文件(即它的“日记”),发现典型的输出,突然在文本行中间结束,表示高度异常中断。中断的突然性因我的 Matlab 代码创建了一个“onCleanup”对象而得到加强,该对象在日志被销毁时将缓冲的输出刷新到日志中,并且很明显该对象甚至没有机会被销毁。
由于 Cygwin X-Windows 也不再运行,所以问题看起来不像是特定于 Matlab。Cygwin 进程与Matlab 进程无关,即Matlab 不是X-windows 进程,也不是从Bash 启动的。
我怎样才能开始追查导致这些终止的原因?
确凿证据:Windows 更新和重启
根据user1686 的评论,我运行了事件查看器。顶级容器是“事件查看器(本地)。其中有一个“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。
操作系统重新启动必然会杀死所有进程,无一例外——但真正发生的是 Firefox 和 Outlook 将自己注册为在 Windows 重新启动后自动重新启动(类似于以前在 Linux X11 环境中看到的 XSMP“会话保存”机制),而其他应用程序不这样做。