如何在另一个终端中打开并稍后关闭来自c ++的另一个程序?

How to open and later close another program from c++ in another terminal?

本文关键字:另一个 程序 终端      更新时间:2023-10-16

我想在 Linux 中从我的 c++ 代码中打开一些其他程序并保存句柄/pid,以便以后可以终止它们。重要的是,我启动的程序在每个应用程序的新终端窗口中打开,并且可以在启动时将参数传递给程序。在Windows中,我可以使用CreateProcess和TerminateProcess来完成。

在 Linux 中,尝试了 popen(( 和 pclose((。目前,我尝试使用 posix_spawn(( 来做到这一点。我可以打开另一个程序并得到 pid,我唯一没有设法做的就是在另一个终端窗口中打开该程序。

我目前的代码是:

std::string path = "exampleProg";
pid_t pid;
status = posix_spawn(&pid, path.c_str(), NULL, NULL, v, NULL);

你可以使用这个:

system("xterm "/PATH_TO_EXECUTABLE"");

谢谢HAL9000。我有点不知所措。我现在用

popen("xterm -e ...","r")