¿Cómo monitorear el proceso externo ejecutado por ProcessBuilder?

Esto debería ser bastante simple, pero no veo nada útil enJavaDocs.

Lo que necesito es ejecutar algún proceso externo desde mi código Java y luego poder monitorear si este proceso se ha apagado o no. En otras palabras, quiero poder determinar de manera confiable si el usuario no finalizó mi proceso externo.

Si no existe una solución multiplataforma, aceptaré cualquier cosa que funcione bajo Linux.

Mi fragmento de código actual:

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();
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta