gpt4 book ai didi

c# - 愚弄 System.Diagnostics.Process WaitForExit()

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:01 27 4
gpt4 key购买 nike

有一个程序 (c#) 通过 System.Diagnostics.Process 启动我的脚本,然后对其调用 WaitForExit()。该脚本(在本例中为 python,尽管可以是任何东西)然后生成一个子进程并退出。我希望程序继续,但它会挂起,直到子进程退出。

我尝试了很多启动子进程的方法,从 python 的 os.fork 到编写 shell 脚本包装器,但每种方法都会导致程序挂起。我无法更改c#程序的代码,我需要对子进程做些什么才能让程序继续运行?

注意:我不知道这是否重要,但 c# 程序在 ubuntu 上以单声道运行。

编辑:在调用 WaitForExit 之前进一步检查 c# 代码后,有一个 while (!process.StandardOutput.EndOfStream) 循环,这可能是问题所在吗?

最佳答案

WaitForExit 似乎卡在打开的标准输出/标准错误上。我使用此脚本使我的脚本异步:

#!/bin/bash

~/foo.py "$@" >&- 2>&- &

希望这能帮助下一个人。

关于c# - 愚弄 System.Diagnostics.Process WaitForExit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com