ProcessBuilder et Processus.waitFor(), combien de temps faut-ist attendre?

Je suis de l'exécution d'une .fichier exe à partir de java, à l'aide de la ProcessBuilder classe et la Processus classe. Pour expliquer ce que je fais:

 builder = new ProcessBuilder(commands);
 builder.redirectErrorStream(true);
 Process process = builder.start();
 process.waitFor();

Je voulais juste savoir, combien de temps est "waitFor()" en attente? Est-ce qu'il attend jusqu'à ce que mes .exe est exécutée, ou est-ce qu'il attend jusqu'à ce que son exécution est terminée?

Mon .exe est compilé AutoIt script. Cela signifie qu'il pourrait y avoir des interactions, tels que les mouvements de la souris, ce qui prend un certain temps.
J'ai donc besoin de savoir si mon Java-exécution de code qui se passe après l'appel de la .exe ou si il est vraiment en attente pour elle.

Ce que je veux réaliser est la rotation de l'exécution de deux scripts, mais j'ai peur que mon code Java est l'exécution de la deuxième script alors que le premier est toujours en cours d'exécution.
Quelqu'un a une solution pour cela? Je suis content de toutes les idées.

  • Je cite les docs: "le thread actuel attendre, si nécessaire, jusqu'à ce que le processus représenté par cet objet Processus a pris fin. Cette méthode retourne immédiatement si le sous-processus est déjà terminé.".
  • Jetez un oeil à quand-runtime-exec---remporte-t. Il y a une bonne description de la Process.waitFor() cas d'utilisation.
InformationsquelleAutor KJaeg | 2015-04-20