为什么当我打开进程监视器时程序就开始运行?

为什么当我打开进程监视器时程序就开始运行?

我编写了一个脚本,每 20 或 30 秒创建并写入一个文件,在过去 15 年左右的时间里,它在 5 个版本的 Windows 上一直运行良好,但我在运行该脚本的一台 PC 上安装了出色的安全更新(在 Windows Embedded POSReady 2009 上),它就停止工作了。它有一个错误消息“DOS 错误:1307”。从作为服务运行的 EXE 进程调用的单独 VBScript 也不再执行其工作(这也涉及创建和写入文件)。但是,从命令行运行时 VBScript 可以工作。当我开始使用最新版本的 Process Monitor(procmon v3.50)捕获事件时,第一个脚本就可以工作。我的意思是,立即,因此,尽管脚本只尝试每 20 或 30 秒创建一次文件,但它会立即创建,而不是等到正常创建时才创建 - 就好像创建命令已在某处排队,而 procmon 已解除对队列的阻止。当我停止使用 Process Monitor 捕获事件时,它继续工作,但一旦我关闭 Process Monitor,它就会停止工作。

为什么或如何影响其他进程的行为?我该如何修复或诊断显然由 Windows 安全更新引起的根本问题?

(第一个脚本在由 Windows 服务创建的进程内运行,并使用商业可视化 IDE 对其进行编译,但实际上并不是编程语言。第三个程序查找由前两个脚本创建的两个文件 - 读取它们,将数据发送到远程服务器,并删除本地文件,并且运行正常,只是当 procmon 未运行时,这两个数据片段会丢失。)

类似的问题,但答案不被接受,场景不同,并且答案与我的问题无关: 运行进程监视器导致应用程序运行

答案1

修改您的服务,将其设置为无论用户是否登录都运行。

参见https://blogs.technet.microsoft.com/askperf/2015/02/18/help-my-scheduled-task-does-not-run/

相关内容