是否可以从 C 或 C++ Linux 程序(例如/usr/bin/foo
)以编程方式启动另一个程序(例如/usr/bin/bar
),并foo
正常退出并bar
继续运行?
system(3)
不适合,因为它会阻塞直到其他程序完成。我想要立即返回的东西。
这些程序都是 GUI 程序,但我怀疑这不相关。
Qt 或 boost::process 中有什么可以提供帮助的吗?
有没有我可以运行的通用 Linux 包装程序system(3)
来实现这一点?我试过xdg-open
了,但我不认为这是正确的。
基本上我希望第二个程序与第一个程序“分离”,并且表现得就像用户通过系统 UI 启动它一样。(例如,在 MacOS 上,有一个open
命令,所以它会像system("open /usr/bin/bar")
)