Możesz zobaczyć jego identyfikator PPID (identyfikator procesu nadrzędnego):
$ ps -eo pid,ppid,args | grep java
Po uzyskaniu PPID (druga kolumna) procesu Java, użyj ps
ponownie, aby znaleźć powiązany proces:
$ ps -p [PPID]
Edycja : jeśli rodzic ma 1 (init), to pierwszy rodzic twojego procesu Java zmarł zaraz po „porodzie” (jak smutno). Z tego powodu nie można użyć bieżącej hierarchii procesów do jej znalezienia. Pierwszą rzeczą, którą poleciłbym ci zrobić, jest sprawdzenie ps -ef
. Możesz znaleźć winowajcę po prostu czytając dane wyjściowe.
Następnie spójrz na crontabs (już to zrobiłeś, ale nie będzie bolało):
$ for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
Będzie to wymagało uprawnień roota.
Nadal nie widzisz zaplanowanego procesu Java? Cholera. Spróbujmy czegoś innego. Jeśli Twój proces Java jest obecny od momentu uruchomienia, spójrz na programy zestrojone podczas uruchamiania. Sugerowałbym coś takiego ...
$ grep -iR java /etc/rc*
Jeśli nadal nie możesz niczego znaleźć, to przyznaję, że brakuje mi pomysłów. Powinieneś naprawdę rzucić okiem ps -ef
i zlokalizować procesy związane z programami opartymi na Javie. Powinieneś natknąć się na demona lub „program uruchamiający”, odpowiedzialny za ciągłe odrodzenie procesu Java.
ps xf
wyświetlania drzewa procesów? W tej chwili mamy bardzo niewiele do zrobienia.