Se as operações forem comparáveis ao OpenJDK v6-b14 , o PID será esteja disponível para ps ao verificar o sistema de arquivos /proc virtual. Você não pode ter certeza de que o processo realmente começou (ou seja, fez qualquer coisa); tudo que você sabe é que um PID foi reservado e agendado (pense nisso, o processo pode ter morrido e estar em um estado zumbi).
No entanto, como ps bloqueia você em sistemas Unix, você pode usar o Reflection para acessar o objeto retornado pelo ProcessBuilder, com o entendimento de que ele o levará a um UnixProcess:
final class [More ...] UNIXProcess extends Process {
private FileDescriptor stdin_fd;
private FileDescriptor stdout_fd;
private FileDescriptor stderr_fd;
private int pid; <----------------------------------------------
private int exitcode;
É claro que este é um hack, mas não muito diferente do ps - e certamente mais rápido. E não é realmente tão arriscado - eu não vejo um campo pid chamado pid mudando muito em breve.