3
正在運行進程生成器並嘗試源/ etc/profile以便能夠執行在常規shell中工作的命令。正在嘗試執行「源」命令的正在運行的進程生成器
String args[] = {"source", "/etc/profile"};
Process p = new ProcessBuilder(args).start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
不幸的是,它返回:
java.io.IOException: Cannot run program "source": java.io.IOException: error=2, No such file or directory
任何幫助,不勝感激!
我相信'source'命令內置在外殼,所以你將無法直接從Java運行它。執行'bash'而不是'source'可能會訣竅。 –
@Wesley是的''bash -c'source/etc/profile''將會訣竅。但是,當bash進程終止時,環境的所有變化都會丟失。無論如何,你的過程不會看到他們。 –
有沒有辦法讓標準的shell環境進入一個進程? – Joris