Belki de Linux'ta Windows'a karşı exec
arasında belirgin farklar var, aşikarın ötesinde, bu yüzden bir demo yakaladım, ama aynı zamanda "merhaba dünya" nın cmdarray
'u gönderildiğinde de çöküyor.exec ile çoklu komutları yankılamak için doğru kullanımı
"echo" komutlarının "komut dizisi" için doğru kullanım nedir?
kazası:
run:
echo hello world...? cannot open notepad
java.io.IOException: Cannot run program "echo hello world 1": error=2, No such file or directory
BUILD SUCCESSFUL (total time: 0 seconds)
adapte kod:
package com.tutorialspoint;
public class RuntimeDemo {
public static void main(String[] args) {
try {
// create a new array of 2 strings
String[] cmdArray = new String[2];
// first argument is the program we want to open
cmdArray[0] = "echo hello world 1";
// second argument is a txt file we want to open with notepad
cmdArray[1] = "echo hello world 2";
// print a message
System.out.println("echo hello world...? cannot open notepad");
// create a process and execute cmdArray
Process process = Runtime.getRuntime().exec(cmdArray);
// print another message
System.out.println("example.txt should now open.");
} catch (Exception ex) {
System.out.println(ex);
}
}
}
ayrıca bkz: sending a cmdarray for exec to process -- hello world
bakınız [zaman Runtime.exec(), sadece] (http://www.javaworld.com/article/2071275/core-java/when-runtime- Bir işlemi doğru şekilde oluşturma ve işleme konusunda birçok iyi ipucu için exec --- won-t.html). Daha sonra yoksay “exec” ifadesini kullanır ve süreci oluşturmak için bir “ProcessBuilder” kullanır. –