Это то, что я использовал, когда у меня было похожее требование. Это правильно определяет PID процесса Java. Позвольте вашему Java-коду порождать сервер с заранее заданным номером порта, а затем выполнять команды ОС, чтобы выяснить, PID прослушивает порт. Для Linux
netstat -tupln | grep portNumber