为什么 Microsoft Windows TaskScheduler 将 ^C 记录到其重定向的 StdErr 日志文件中?

Why does Microsoft Windows TaskScheduler log ^C into its redirected StdErr log file?

是否记录它停止应用程序?

我正在使用 Windows Server 2012。它是 运行 数十个内部应用程序的计划任务。他们的 stdout 和 stderr 被任务计划程序重定向到每个任务的单独日志文件:

1>>stdout.log 2>>stderr.log

当应用程序即将完成时,摘要器会读取其错误日志,挑选出有趣的行,并通过电子邮件发送。

现在我们的摘要生成器抱怨行首的文本 ^C(因为它需要日期,而 ^C 不是日期)。

我将更新摘要器以允许此事件,但这并不能解决问题:在一行的开头出现 ^C。任何线路。看似随意。

如果应用程序是从 (DOS) shell 启动的,则 ^C 用于停止来自 运行 的应用程序。由于我的计划任务都调用批处理文件,因此任务计划程序可能会记录到 StdErr,以强制退出计划的应用程序。

但是,这些事件与 Task Scheduler 历史记录表明其应用程序已停止并且在 2 周内没有强制退出任何应用程序的时刻不一致。然而今天有一个 ^C 记录。

^C 可能来自我使用的记录器。但是,该记录器已经使用了几个月,而且我们在开始使用计划任务后才看到这一点。

欢迎提出任何建议!

由于任务计划程序强制退出我的应用程序,^C 可以登录到我的 StdErr 日志中。

尽管我坚持认为根据 Task Scheduler 历史没有发生强制退出,但我昨天亲眼目睹了它的发生。

它的发生可能还有其他原因,但至少这种特殊行为得到了证实。

感谢所有帮助调查我问题的人!