进程 WaitForExit 没有响应

Process WaitForExit not responding

我正在开发 Windows 将通过批处理生成 csv 文件的服务 file.Later 我将读取该文件。 下面是批处理文件命令 psexec \wksp000ae2c8 -h -w D:\UPSData\OCCG\OPMI\Cache\OPSTimingExtractor\ "C:\Program Files (x86)\UPSAPPS\OCCG\OPMI\Tools\dirt.bat" > 051120072244.091.csv

我在控制台单独执行时能够生成csv文件。 Windows 服务生成批处理文件。

但是当我作为 windows 服务 Process.WaitForExit 执行它时 return。

我单独双击它执行的批处理文件,生成批处理文件。下面是代码

 Process procstart = new Process();
            ProcessStartInfo psi = new ProcessStartInfo
            {
                CreateNoWindow = true,
                UseShellExecute = false,
                FileName = "cmd.exe",
                Arguments = @"/C "+ BatfileName,
                WindowStyle = ProcessWindowStyle.Hidden,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                ErrorDialog = false
            };

            procstart.StartInfo = psi;
            procstart.Start();
            procstart.WaitForExit();

当我添加 procstart.Kill 或关闭时,它不起作用。 当我转到位置并尝试打开文件时,它说文件在另一个进程中。

当我尝试删除文件时,它显示“操作无法完成,因为文件在 cmd.exe

中处于打开状态

我通过批量添加退出命令实现了这一点file.Also我必须使用我的凭据执行文件。