2013-09-05 19 views
5

Chcę napisać aplikację java, która ma zostać wdrożona na pudełku systemu UNIX. Muszę sprawdzić uruchomione procesy - które są uruchomione na pudełku. Czy ktoś mógłby mi pokazać przykład/wskazać mi właściwy kierunek?Sprawdź procesy, które są uruchomione - java

+0

java.lang.ProcessBuilder + ps – Keith

+2

Co masz na myśli "sprawdź bieżące procesy"? Jakie informacje o procesach potrzebujesz dokładnie? – david

+0

Czy próbowałeś użyć google do "Jak sprawdzić działające procesy linux"? – Grammin

Odpowiedz

10

Jeśli chcesz znaleźć uruchomionych procesów Java, można użyć

ps -ef | grep java

Jeśli chcesz sprawdzić, które porty są w użyciu,

netstat -tupln

1

natknąłem niektórych alternatywy dla ps aux | grep java dostarczone przez Javę, które wymagają mniejszego pisania:

jcmd 

i

jps -v 

Opcja -v pokaże argumenty przekazywane do JVM.

Jeśli uzyskasz informacje o procesie niedostępne może to być spowodowane tym, że proces działa z OpenJDK. Jeśli korzeń i proces został rozpoczęty z użytkownikiem niż root można użyć następujących czynności, aby zobaczyć szczegóły (zastąpić <user> z nazwą użytkownika):

sudo -u <user> jps -v 

Kolejną miłą cechą jcmd jest to, że można wyświetlić wersję Javy, że określony proces korzysta (w przypadku ps aux | grep java nie pokazuje go), to w jaki sposób natknąłem się na dwóch (Wymień <pid> z identyfikatorem procesu):

jcmd <pid> VM.version 
Powiązane problemy