我一直在尝试从我的应用程序打开一个新的终端窗口,并在用户指定的第二个窗口上执行命令。我已经构建了一些调试软件,我想在一个单独的窗口上执行用户程序,所以我的调试输出不会与程序输出混合。
我正在使用fork()
和exec()
。我正在执行的命令是gnome-terminal -e 'the program to be executed'
。
我有两个问题:
调用gnome-terminal
表示用户必须运行gnome图形环境。是否有更多的跨平台命令可供使用(我只对Linux机器感兴趣)?
命令完成后,第二个终端也完成执行并关闭。有没有办法暂停它,或者只是等待输入让它继续正常运行?
答案 0 :(得分:4)
您可能想要xterm -hold
。
答案 1 :(得分:3)
1)gnome-terminal应该合理地工作,没有整个gnome环境,无论如何旧的普通“xterm”就足够了。
2)你可以执行一个启动你的程序的短bash脚本,最后读一行:
bash -c'我的节目......;读一个'
(或'xterm -e ...')