2012-08-16 232 views
1

我现在正在使用Ubuntu,并且可以通过Java代码打开终端。但我的问题是,在终端打开后关闭程序时,我会看到一条消息,说我打开的终端已关闭?检查终端是否打开

这里是我打开终端代码:

String command = "gnome-terminal -x bash cd ~/Desktop"; 
String cmd[] = { "gnome-terminal", "-x", "bash", "-c", "sudo gedit ~/Desktop/wat.txt" }; 
Runtime rt = Runtime.getRuntime();  
Process pr = rt.exec(cmd); 
+0

只是一个问题,你为什么要启动一个终端,然后启动gedit?为什么不直接启动gedit? – 2012-08-16 09:52:17

+0

导致其应用程序。用户很懒。 – thenewbie 2012-08-17 06:23:48

+0

我知道你想为你的(懒惰)用户启动gedit,但为什么启动一个终端,而不仅仅是直接gedit?用你目前的命令,他们会看到一个弹出的终端,它打开gedit。只是想知道你是否真的需要那个终端。 – 2012-08-17 08:32:34

回答

0

您可以在过程调用waitFor()。该API说:

导致当前线程等待,如果有必要,直到此过程对象表示的进程终止。

返回进程的退出值。按照惯例,0表示正常终止。

如果你想让你的程序继续运行,那么一定要在不同的线程中调用你的代码。

+0

如果你有,可以给我一些例子吗?谢谢.. – thenewbie 2012-08-18 02:02:01