[英]Which command to use to execute a program within C++ code [Linux]?
问候,
是C ++和Linux的新手。 我正在寻找一个用于在源代码中执行3个可执行程序(exe / bin)的命令,这就是我想做的:
1.知道过程是否成功执行(返回值)
2.知道进程ID
3.终止进程
我尝试了System(),但是它不会返回错误且没有PID,也不安全。 我快速看了一下fork()-exec(),但是可能没有父子关系吗? 另外,我看了手册页,但我听不懂:(
请给我建议我应该使用哪个命令。
先感谢您!
您看过popen()吗? 这可能是要走的路。 尝试手册页。
根据定义,在启动新程序时,您始终具有父子关系(除非它们在当前进程中替换了您自己的程序;在不先fork
情况下调用execl
时,您会得到这种关系)。 内部喜欢system
和popen
函数也调用fork
和exec
变体之一。
看一下剑桥大学的Fork and Exec教程 ,这很简单直接。 也使用C ++。 请注意,所有相关调用( fork
, execl
, wait
)都是C POSIX函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.