如何从shell脚本中获取回声语句以及执行状态到c++程序中?

问题描述 投票:-1回答:1

我有一个shell脚本,像。

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

我有一个c++代码,我想要回声语句和执行状态。 我发现了一些例子,在这些例子中,我们可以使用: popen()system() 两种方式都能满足一个要求,但不能同时满足两个要求。有什么建议怎么做?

c++ bash popen
1个回答
0
投票

fork() + exec() 将是运行另一个可执行文件的一个非常标准的方式( 不要 曾经 使用 system()这是一个安全问题 噩梦). 为了获得产卵进程输出的标准输出标准误差流,父进程将设置好的 pipe来连接到这些流并读取它们。至于退出代码,你可以通过以下方式获得。waitpid() (你会得到一个SIG_CHILD信号,所以要确保你已经安装了一个信号处理程序)。

我推荐你阅读一下 UNIX环境下的高级编程,第3版.

© www.soinside.com 2019 - 2024. All rights reserved.