Нет способа (AFAIK) сделать это на чистой Java.Вы могли бы написать какой-нибудь нативный C для этого, а затем выполнить интерфейс, используя JNA / JNI (что было бы наиболее надежным решением).
В качестве альтернативы, быстрый простой хакерский подход (если вы просто используете Linux) будетиспользовать Runtime.exec()
для вызова одного из этих нативных подходов, которые затем можно было бы проанализировать изнутри Java.
С точки зрения проверки, является ли процесс мертвым, вы можете использоватьвышеупомянутый подход, но с ps
.
РЕДАКТИРОВАТЬ: Это может быть что-то, что помогает.