Comment surveiller les processus dirigé par ProcessBuilder?

Cela devrait être plutôt simple, mais je ne vois pas quelque chose d'utile dans La documentation javadoc.

Ce que j'ai besoin est d'exécuter certains processus externe à partir de mon code Java et être en mesure de surveiller si ce processus a été l'arrêt ou pas. En d'autres termes, je veux être en mesure de déterminer de manière fiable si oui ou non mon processus externe n'a pas été terminé par l'utilisateur.

Si pas de croix-plate-forme de la solution existe, je vais accepter que rien ne fonctionne sous Linux.

Mon bout de code:

public static void main(String[] args) {
    ProcessBuilder pb = new ProcessBuilder("some proces name");

    try {
        Process p = pb.start();
        //p.isRunning(); <- now, that would be helpful :-)
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Tu veux dire quoi par "arrêt" ou "pas terminé par l'utilisateur". Parlez-vous un code d'erreur ou une autre sortie?
Bien, en disant "s'est terminée par l'utilisateur" pourrait en effet ne pas être exactes. Ce que je veux vraiment savoir c'est si le processus est toujours en cours d'exécution à un moment donné.

OriginalL'auteur | 2012-07-16