我有一些C#代码启动了一个perl脚本。然后perl脚本有自己的子进程。
我遇到的问题是当我尝试读取标准输出时,C#等待所有perl子进程完成然后返回所有输出。
是否可以动态地动态读取所有Perl子进程的标准输出?
->C# process
->Perl process
-> Perl child process
-> Perl child process
-> Perl child process
在cmd中运行perl脚本时,所有输出都是正确的。
答案 0 :(得分:0)
为什么不通过C#运行主perl进程,然后通过在名称上搜索进程来获取System.Diagnostic.Process数组,因为它们都将作为“perl”运行
Process [] localByName = Process.GetProcessesByName("perl");
然后遍历数组并用作标准的System.Diagnostic.Process来获取输出。