2014-02-16 72 views
1

我有一個Java程序,需要在前臺啓動一個交互式命令行界面C程序。我需要這個在Windows和Linux上工作。如何從Java中啓動交互式命令行界面程序?

在Windows中,一切工作正常。我能夠在前臺啓動我的程序與cmd如下:

command = "cmd /c start \"My_C_Program\" /MAX /WAIT My_C_Program "; 
theProcess = Runtime.getRuntime().exec(command); 

在Linux中,我不能做同樣的/bin/bash。不管我怎麼努力,過程總是會在後臺運行:

String[] commands = { "/bin/bash", "-c", "./My_C_Program" }; 
theProcess = Runtime.getRuntime().exec(commands); 

我知道我可以檢索後臺進程的輸出,但由於該方案是互動的,這是沒有用的。

任何幫助將不勝感激。即使是複雜的解決方法:)

+2

'bash'是一個不是窗口程序的shell,可以用'xterm'或者其他窗口來嘗試 – 2014-02-16 09:20:14

+0

@RC。謝謝。這是問題。 – Ahmad

回答

0

可以代替試試這個:

String[] commands = { "gnome-terminal", "-x", "-c", "./My_C_Program" }; 
theProcess = Runtime.getRuntime().exec(commands); 

不知道將它的工作。沒有嘗試過。

也許你沒有GNOME終端,但有其他東西像x-term。它應該幾乎相同。

+0

謝謝。這是問題。 – Ahmad

相關問題