将shell脚本的返回值转发给C/C++

将shell脚本的返回值转发给C/C++

我试图在 Google 上找到可能的解决方案,但我发现的只是关于如何返回值的解释,而不是如何在某种编程语言中接受它,在我的例子中是 C/C++?有人知道如何做到这一点吗?一些技巧?

答案1

我专注于 Linux,但我的答案可能适用于其他 POSIX 系统。

您将从 C 或 C++ 程序中执行 shell 脚本,其中包括:

  • 通常的混合物叉子(2),执行(2),等待进程(2),然后使用when  waitpid为您提供退出代码WEXITSTATUSWIFEXITED

  • 系统(3)C 标准库函数。它返回内部waipid实现所返回的内容

  • 波彭(3)POSIX 标准库函数。使用WEXITSTATUS结果pclose

system&都popen使用fork, execve,waitpid 系统调用(还有其他一些,请参阅系统调用(2)以获得列表)。

阅读有关 Linux 系统编程的任何好书以了解详细信息(例如高级Linux编程作者:M.Mitchell 等人;你会找到副本在网络上,或APUEETC...)

相关内容