在Linux上,从C++调用一个可执行文件,然后等待它完成

Call an executable from C++, and wait until it is done, on Linux

本文关键字:然后 可执行文件 一个 等待 Linux C++ 调用      更新时间:2023-10-16

我正在尝试编写一个程序,在某个时刻,该程序需要通过系统调用外部应用程序,并等待其他可执行文件完成。我非常想要一个C++版本的python子进程.call(…)方法。我知道system()可以通过shell调用一个命令,但我不知道它是否能够阻止,直到命令终止。有人知道正确的方法吗?

我是为Linux系统写这篇文章的,但如果可能的话,我希望它是可移植的。不管怎样,任何帮助都将不胜感激。

system()等待命令完成:

http://linux.die.net/man/3/system

system()通过调用/bin/sh-c执行命令中指定的命令命令,并在命令完成后返回。在期间命令的执行,SIGCHLD将被阻止,SIGINT和SIGQUIT将被忽略。

popen命令应该很适合您:http://linux.die.net/man/3/popen

相关文章: