在Linux上,从C++调用一个可执行文件,然后等待它完成
Call an executable from C++, and wait until it is done, on Linux
我正在尝试编写一个程序,在某个时刻,该程序需要通过系统调用外部应用程序,并等待其他可执行文件完成。我非常想要一个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
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 是否可以在命令行中将输入参数传递给可执行文件
- 如何在可执行文件中存储常量数组?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 在Linux上,从C++调用一个可执行文件,然后等待它完成
- 生成程序集文件,然后编译成可执行文件
- C++,Visual Studio:有可能创建一个可执行文件来设置环境变量,然后执行吗