ProcessBuilder pb;
Process process;
String command ="shutdown -s";
try {
pb = new ProcessBuilder("cmd.exe", "/C", command)
process = pb.start();
process.waitFor();
if (process.exitValue() == 0) {
//success
} else {
//handle error
}
} catch (Exception e) {
//handle error
}
Lorsque j'essaie d'obtenir inputtream et d'exécuter ce bloc de code système va dans une boucle infinie. Puis j'ai changé le code comme vu ci-dessus. Cependant quand je l'exécute il obtient la valeur de sortie de 1 et ne peut pas arrêter le système.Erreur système Java ShutBuilder Shutdown
Des idées?
PS: Je ne veux pas utiliser le temps d'exécution Java.
Je viens de faire quelques tests directement dans cmd ... il semble diviser les arguments entre guillemets. ie 'cmd> cmd/C" foo.exe arg1 arg2 "' est interprété comme 'cmd> cmd/C" foo.exe "" arg1 "" arg2 "' et 'cmd> cmd/C" foo.exe "arg1 arg2 "" 'est équivalent à' cmd> cmd/C foo.exe "arg1 arg2" 'witch est un comportement étrange puisque si on voulait avoir' arg1 agr2' interprété comme un seul argument contenant un espace, il écrirait intuitivement 'cmd > cmd/C "foo.exe" arg1 arg2 \ "" ' – A4L