comando non è una soluzione qui per identificare se un processo è un processo java o meno, poiché molti dei miei processi java non sono elencati nell'output dopo l'esecuzione di questo comando.Come identificare se un processo è java o c o C++ process in linux?
risposta
Questo thread spiega come trovare quale elaborare una JVM è in esecuzione
https://superuser.com/questions/441792/how-do-i-determine-what-running-process-is-using-java
Così si potrebbe solo controllare attraverso tutte le macchine virtuali e verificare se sono in esecuzione l'ID del processo che stai cercando. In caso contrario, deve essere un'altra lingua.
Risposta breve (si spera che qualcuno scrive una più completa):
processo Get PID
Vai
/proc/<pid>
Cercare il file binario processo da lì
Eseguire i comandi
file
eldd
su di esso e vedere cosa puoi capire dal loro output (controlla le pagine man dei comandi, ovviamente).Utilizzare il comando
lsof
per vedere quali file sono aperti e vedere se questi includono librerie rivelatrici o file simili.
Il processo Jab deve essere eseguito da un eseguibile Java. Quindi per vedere quel processo devi vedere la riga di comando che sta girando. ps -ef O Jps O Htop
sono soluzioni comuni
'jps' solito funziona – Samuel
Poi come sono elencati nell'output' ps'? Naturalmente, potresti avere il problema che un processo è * sia * C++ * che * Java. – Andreas
aiuterà 'pstree'? – zack