我正在尝试创建一个可以打开终端浏览器并浏览网站的程序。在调用子进程之前它工作正常。出现以下错误
“xdotool:未知命令:搜索 --onlyvisible --name 终端窗口激活 keydown Down”
我已经在一个单独的终端中测试了该命令,它确实有效,但在我的代码中没有得到识别。我觉得这可能与 execl 没有返回到 main 的事实有关,但我是编程新手,所以我不确定。
这是代码
#include <iostream>
#include <string>
#include <unistd.h>
using namespace std;
int main(int argc, char *argv[]) {
string thread;
cout << "website: ";
cin >> thread;
const char* xdo = "xdotool";
pid_t pid = fork();
string strThread = "" + thread;
string xdoCMD = " search --onlyvisible --name Terminal windowactivate keydown Down";
if (pid < 0) {
cout << "Process failed" << endl;
return 1;
}
else if (pid == 0) {
execl("/usr/bin/xdotool", "xdotool", xdoCMD.c_str(), (char *) NULL);
}
else {
// sleep(1);
execl("/usr/bin/elinks", "elinks", strThread.c_str(), (char *) NULL);
}
}