繁体   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