簡體   English   中英

打開外殼並使用Java進行交互

[英]opening a shell and interact with using Java

我以前曾問過同樣的問題,但沒有答案, 在這里這里 ,也發現了一些與此問題類似的其他問題,但又沒有合適的答案。 誰能幫我這個忙。 我正在嘗試從Java打開外殼程序並與之交互(編寫命令並讀取外殼程序的輸出)。 這些命令將由用戶給出,例如更改目錄,編譯C程序等。命令列表不是固定的。

我也嘗試過使用/ bin / bash -c方法以及以下方法。

Process p = new ProcessBuilder("xterm").start();

Process p = new ProcessBuilder("/bin/bash").start();

謝謝,我希望問題已經解決。

可行解決方案的示例幾乎如下所示

   Process process;

   rt = Runtime.getRuntime();

try 
{

    process = rt.exec(new String[]{"bash","-c","ls -al /home/"});

    log.warn("message to display");

    BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));

    String line=null;

    while((line=input.readLine()) != null) {

        log.warn(line);
    }

    int exitVal = process.waitFor();

    log.warn("Exited with error code : "+ exitVal);

}
catch (IOException e) 
{
    log.warn("IO Execption 1 Happen : " + e.getMessage());
} 
catch (Exception e) 
{
    log.warn("Execption Happen : " + e.getMessage());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM