如何用C#打印子进程打印的值?
正如这篇帖子中所要求的那样,我可以使用 Python 的 subprocess.Popen() 函数打印出运行 ruby 代码的值。
import subprocess
import sys
cmd = ["ruby", "/Users/smcho/Desktop/testit.rb"]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
for line in iter(p.stdout.readline, ''):
print line,
sys.stdout.flush()
p.wait()
我怎样才能用 C# 做同样的事情?如何打印子进程打印出来的值?
As is asked in this post, I can use Python's subprocess.Popen() function to print out the value from running ruby's code.
import subprocess
import sys
cmd = ["ruby", "/Users/smcho/Desktop/testit.rb"]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
for line in iter(p.stdout.readline, ''):
print line,
sys.stdout.flush()
p.wait()
How can I do the same thing with C#? How can one print the value what the subprocess prints out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
生成子进程时需要重定向 stdout; MSDN 有一个完整的示例: http://msdn.microsoft .com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx
(来自 MSDN):
You need to redirect stdout when spawning the child process; MSDN has a complete example: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx
(from MSDN):