2012-12-02 30 views

回答

1

管道和重定向是shell提供的功能。簡單(而且很髒)的解決方案是在shell中產生命令:"/bin/sh -c 'ps -e > /home/root/workspace/MyProject/ProcessList.txt'"

編輯:我忘記了默認StringTokenizer不適用於帶引號的字符串。以字符串數組形式提供參數。

String[] args = { 
    "/bin/sh", 
    "-c", 
    "ps -e > /home/root/workspace/MyProject/ProcessList.txt" 
}; 
java.lang.Runtime.getRuntime(args); 
+0

所以你說這應該是這樣的: run.exec(「/ bin/sh的-c「ps的-e> /首頁/根/工作區/ MyPro JECT/ProcessList.txt'「); ???? –

+0

@IngilaEjaz的確如此。編輯澄清。 – kmkaplan

+0

我嘗試了我在評論中寫的內容,但它不起作用:( –

0

你可以看看這個問題:Input and Output Stream Pipe in Java

否則,如果你知道你是支持的Bourne shell(sh)的平臺上,你可以添加到命令運行原始命令在外殼:

"sh -c 'ps -e > /home/root/workspace/MyProject/ProcessList.txt'"

+0

沒有運氣,它也:( –

相關問題