打开一个新的终端窗口&执行命令

时间:2011-03-24 23:00:22

标签: c linux

我一直在尝试从我的应用程序打开一个新的终端窗口,并在用户指定的第二个窗口上执行命令。我已经构建了一些调试软件,我想在一个单独的窗口上执行用户程序,所以我的调试输出不会与程序输出混合。

我正在使用fork()exec()。我正在执行的命令是gnome-terminal -e 'the program to be executed'

我有两个问题:

  1. 调用gnome-terminal表示用户必须运行gnome图形环境。是否有更多的跨平台命令可供使用(我只对Linux机器感兴趣)?

  2. 命令完成后,第二个终端也完成执行并关闭。有没有办法暂停它,或者只是等待输入让它继续正常运行?

2 个答案:

答案 0 :(得分:4)

您可能想要xterm -hold

答案 1 :(得分:3)

1)gnome-terminal应该合理地工作,没有整个gnome环境,无论如何旧的普通“xterm”就足够了。

2)你可以执行一个启动你的程序的短bash脚本,最后读一行:

bash -c'我的节目......;读一个'

(或'xterm -e ...')