在 Windows 服务中重定向 stdout 和 stderr

Ada*_*amC 5 c# redirect windows-services

我创建了一个 Windows 服务,它可以执行通过 wcf 公开的进程(仅供内部使用)。我最近遇到了一个问题,如果我直接执行进程 (cmd.exe),这可以正常工作,但是当安装为作为 LOCALSYSTEM 运行时,输出和错误重定向不起作用。大约一天后,我发现如果我也重定向 stdin,一切都会正常。我在这里找到了一个相关的线程,但没有真正的解决方案。

无论如何,我想知道是否有人知道这样做的原因,并且 Windows 服务中的输出是否存在已知问题?

一个复杂的问题是我最近安装了 W7 SP1,所以我不确定这是否改变了行为,因为我没有机会卸载并重试。

Jos*_*orn 0

标准流仅适用于交互运行的进程。Windows 服务不以交互模式运行。