Frage

Ist es möglich, in Java oder über ein Eclipse -Plugin einen Prozess mit Namen zu finden ohne fallen zum nativen Code fallen? Insbesondere möchte ich feststellen, ob ein Webbrowser ausgeführt wird, und den Benutzer informiert, dass er möglicherweise den Browser neu starten muss.

Ich weiß, dass nativer Code immer eine Option ist, aber ich möchte vermeiden, eine weitere JNI -Bibliothek einzurichten, wenn ich sie vermeiden kann.

War es hilfreich?

Lösung

Es ist eigentlich eine doppelte Frage, siehe die Original.

Hier haben Sie zwei Optionen, eines besteht darin, das Befehlszeilen -Tool auszuführen, in dem die laufenden Prozesse aufgeführt und deren Ausgabe analysiert werden. Wie von Jay auf Linux erwähnt, kann man "PS" verwenden, unter Windows müssen Sie ein Werkzeug bündeln, entweder einen PS -Port von Gnuwin/Cygwin/etc oder ein nationales Werkzeug wie Pilist, oder schauen Sie sich das an Probe.

Die zweite Option, von der Sie bereits wissen Jniwrapper. Es bietet eine einfach zu verwendende Java -API für häufige native Betriebssystemfunktionen. Sie bieten auch kostenlose Lizenzen für Open -Source -Projekte.

Andere Tipps

Ich weiß keine Möglichkeit, eine Liste von Auslaufprozessen direkt von Java zu erhalten. Wenn Sie sich unter Linux befinden, können Sie einen Prozess erstellen, der "PS" ausführt, den Inputstream des Prozesses ausführt, um die Ergebnisse abzufangen, und analysieren. Sie müssten nicht auf die JNI -Ebene gehen, um dies zu tun: Sie können einen Shell -Befehl mit Prozess ausführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top