Java Runtime.Exec() Guide Java Runtime.Exec () Guide
Everything you ever wanted to know and should know about Java Runtime.exec(). Tout ce que vous avez toujours voulu savoir et devraient savoir sur Java Runtime.exec ().
This old but still golden Cette ancienne mais toujours d'or article l'article is an excellent guide to using Runtime.exec(). est un excellent guide à utiliser Runtime.exec (). The key points he discusses are: Les principaux points qu'il aborde sont les suivants:
1. You need to drain the input stream to prevent because failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock. Vous devez assécher les flux d'entrée pour prévenir l'échec en raison de rapidement écrire le flux d'entrée ou de lire les flux de sortie du sous-mai cause de la sous-bloc, et même impasse.
2. Use waitFor() instead of exitValue() when you want to wait for the process to finish. Utilisez waitFor () au lieu de exitValue () lorsque vous souhaitez attendre pour le processus à la fin.
3. Runtime.exec() wouldn’t directly execute shell commands like dir / ls, copy / cp etc. You need to invoke the shell cmd.exe / bash / sh and pass the shell commands. Runtime.exec () ne serait pas directement exécuter des commandes shell comme dir / ls, copier / cp etc Vous avez besoin d'invoquer le shell cmd.exe / bash / sh et passer des commandes shell. For example in windows your command array to execute dir would be as follows: Par exemple, dans les fenêtres de votre tableau de commande à exécuter dir serait comme suit:
cmd[0] = “cmd.exe” ; cmd [0] = "cmd.exe";
cmd[1] = “/C” ; cmd [1] = "/ C";
cmd[2] = “dir”; cmd [2] = "dir";
Personally I have successfully used Runtime.exec() on several occasions. Personnellement j'ai utilisé avec succès Runtime.exec () à plusieurs reprises. Any C programmer should quickly find equivalence with fork and system calls in C language. Tout programmeur C doit trouver rapidement l'équivalence avec la fourche et des appels système en langage C. As always RTFM. Comme toujours RTFM.
Filed under Classé sous Headline News Headline News , How To Comment , J2EE , Java Software Logiciel de Java , Programming Programmation , Tech Note Note technique | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | cet article |
Email this Article Envoyer cet article
You may also like to read Vous mai également à lire |





June 9th, 2008 at 10:23 pm Juin 9e, 2008 chez 10:23 pm
Hi all , Salut tous,
How to execute the mysql command in linux using the runtime.exec. Comment exécuter la commande mysql sous Linux en utilisant les runtime.exec.
example : exemple:
String []cmds_slave1={ String [] = (cmds_slave1
“/bin/sh”,”mysql test”, "/ Bin / sh", "mysql test",
}; );
p3=Runtime.getRuntime().exec(cmds_slave1); p3 = Runtime.getRuntime (). exec (cmds_slave1);
BufferedReader pr = new BufferedReader(new InputStreamReader(p3.getInputStream())); BufferedReader pr = new BufferedReader (nouveau InputStreamReader (p3.getInputStream ()));
System.out.println(”after buFFer stmt”); System.out.println ( "après stmt tampon");
String x1; String x1;
while ((x1 = pr.readLine()) != null) while ((x1 = pr.readLine ())! = null)
{ (
System.out.println(x1 + ” from mysqllll…”); System.out.println (x1 + "de mysqllll…");
} )
}catch(Exception e) ) catch (Exception e)
{ (
e.printStackTrace(); e.printStackTrace ();
} )
p3.waitFor(); p3.waitFor ();
But i am not getting any output. Mais Je ne reçois aucune sortie.
Please let me know how to proceed more. S’il vous plaît permettez-moi de savoir comment procéder.
Thanks In Advance. Merci à l'avance.
Prakash