簡體   English   中英

從命令行運行並行命令時,如何區分它們的輸出?

[英]When running parallel commands from the command line, how can I tell their outputs apart?

我正在編寫 C# 代碼,通過 ProcessStartInfo 運行 Git 命令。

我知道在語法方面,我可以通過在它們之間添加單個&字符來並行地從控制台運行命令。 例如:

echo "Hello world!" & echo "Goodbye world!"

因為這些命令並行運行,所以它們是異步的,這意味着它們的 output 順序是隨機的。 問題是,在我的 C# 代碼中,我需要使用每個命令的響應,不幸的是,沒有指示性的 output 告訴我哪個 output 屬於我運行的哪個命令。

有沒有辦法告訴哪個 output 來自哪個命令?

例如,一種在特定命令完成時回顯特定文本的方法?

正如您可以以用戶身份打開多個命令 windows 並在其中鍵入命令一樣,您可以從 C# 作為單獨的進程並行運行多個命令行程序,因此分別讀取它們的 output。

echo "Hello world!" >1st.out 2>1st.err & 
echo "Goodbye world!" >2nd.out 2>2nd.err &

通過將每個命令的標准輸出和錯誤重定向到不同的文件來運行每個命令,然后每個命令的 output 相互隔離。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM