Wie erkennt man, ob ein Prozess in Linux Java oder C oder C ++ verarbeitet?

8
Der Befehl

ps -eaf | grep java ist hier keine Lösung, um festzustellen, ob ein Prozess ein Java-Prozess ist oder nicht, da viele meiner Java-Prozesse nach Ausführung dieses Befehls nicht in der Ausgabe aufgeführt sind.

    
Charu 07.06.2016, 04:52
quelle

3 Antworten

3

Kurze Antwort (hoffentlich schreibt jemand eine umfassendere):

  1. Erhalte Prozess-PID

  2. Gehe zu /proc/<pid>

  3. Suchen Sie von dort die Prozess-Binärdatei

  4. Führe die Befehle file und ldd aus und sieh dir an, was du anhand ihrer Ausgabe herausfinden kannst (schau natürlich auf die Man-Pages der Befehle).

  5. Verwenden Sie den Befehl lsof , um zu sehen, welche Dateien der Prozess geöffnet hat und ob diese verifizierende Bibliotheken oder ähnliche Dateien enthalten.

hyde 07.06.2016 05:02
quelle
0

Dieser Thread erklärt, wie Sie herausfinden können, in welchem ​​Prozess ein jvm läuft

Ссылка

Sie können also einfach alle virtuellen Maschinen überprüfen und prüfen, ob sie die gesuchte Prozess-ID ausführen. Wenn nicht, muss es eine andere Sprache sein.

    
redunderthebed 07.06.2016 04:59
quelle
0

Der Jab-Prozess muss von einer ausführbaren Java-Datei ausgeführt werden. Um diesen Prozess anzuzeigen, müssen Sie die Befehlszeile sehen, die ausgeführt wird. Ps -ef Oder JPS Oder Htop

Sind gemeinsame Lösungen

    
Tal 07.06.2016 05:06
quelle

Tags und Links