簡體   English   中英

如何從 shell 腳本中獲取 echo 語句以及執行狀態到 c++ 程序中

[英]how to get the echo statements as well as execution status from a shell script into a c++ program

我有一個 shell 腳本,例如:

#!/bin/bash
echo "my string"
return 1

我有一個 c++ 代碼,我想要 echo 語句和 exec 狀態。 我發現了一些例子,我們可以同時使用popen()system()來滿足一個需求,但不能同時使用兩者。 任何建議如何做到這一點?

fork() + exec()將是運行另一個可執行文件的一種非常標准的方式(永遠不要使用system() ,這是一場安全噩夢)。 要從生成的進程中獲取標准輸出/標准錯誤 stream output,父進程將設置pipe以連接到這些流並讀取它們。 至於退出代碼,您可以在子進程終止后通過waitpid()獲得(您將獲得 SIG_CHILD 信號,因此請確保已為此安裝了信號處理程序)。

我建議通讀UNIX Environment, 3rd Edition 中的高級編程

暫無
暫無

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

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