Nun, der Titel fasst die Frage ziemlich zusammen. Das einzige, was ich gefunden habe, ist this , aber ich bin mir nicht sicher, ob das der Weg ist.Wie erkennt man über Java, ob ein bestimmter Prozess unter Windows läuft?
Antwort
Sie können die wmic Dienstprogramm verwenden, um die Liste der laufenden Prozesse zu überprüfen.
Angenommen, Sie explorer.exe Prozess ist, wenn das Fenster überprüfen möchten laufen:
String line;
try {
Process proc = Runtime.getRuntime().exec("wmic.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
OutputStreamWriter oStream = new OutputStreamWriter(proc.getOutputStream());
oStream .write("process where name='explorer.exe'");
oStream .flush();
oStream .close();
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
http://ss64.com/nt/wmic.html oder http://support.microsoft.com/servicedesks/webcasts/wc072402/listofsampleusage.asp für einige Beispiel von dem, was Sie von wmic bekommen ...
Danke dafür, wie ich in meinem Kommentar früh sagte ich war nicht klar genug. :) – gmunk
Ist es möglich, dann herauszufinden, wie man einen laufenden Prozess von der Windows-Handle-ID zu töten? – JamesC
Danke für das nette Beispiel. Gibt es eine Möglichkeit, diese Problemplattform unabhängig zu behandeln? Ich brauche diese Funktionalität auch unter Linux und Apple. – Socrates
os.name sollte es tun. Weitere Informationen here
Hängt davon ab, wofür Sie es brauchen!
Die meisten Informationen können von den Standardlaufzeiteigenschaften abgeleitet werden, ohne die Eigenschaften des Betriebssystems zu überprüfen.
Werfen Sie einen Blick auf, was http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties() bietet:
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory
Sie versuchen, ein Prozess, um festzustellen, ob Sie noch erstellt läuft?
- Wenn Sie die PID haben, wird der Link, den Sie gepostet haben, tun.
- Wenn der andere Prozess auch Ihr eigener ist (Ihr Code), können Sie dafür sorgen, dass eine Datei exklusiv gesperrt wird. versuchen Sie, es vom anderen Code zu sperren, wenn es erfolgreich ist, dass der andere Prozess nicht läuft.
Ich habe nicht in nicht Windows-basierten Systemen versucht. vielleicht die PID Teilbarkeit durch 4 wird ein Anhaltspunkt Weitere Informationen über dieses PID propery hier bieten: About the pid of the process
und hier http://blogs.msdn.com/oldnewthing/archive/2008/02/28/7925962.aspx
- 1. Wie erkennt man, ob mein Programm in Windows läuft?
- 2. Wie erkennt man, ob ein PHP-Skript bereits läuft?
- 3. Wie erkennt man, ob ein Skript auf einem TTY läuft?
- 4. Wie erkennt man, ob ein Mocha-Test in node.js läuft?
- 5. Wie erkennt man ein externes Programm, das Ihren Prozess überwacht?
- 6. node.js Wie überprüft man, ob ein Prozess unter dem Prozessnamen läuft?
- 7. C#: Wie erkennt man, ob in Windows ein 'Benutzerkonto' existiert?
- 8. Wie erkennt man, ob der webpack-dev-server läuft?
- 9. Wie überprüft man, ob ein Programm unter Windows installiert ist
- 10. Wie überprüft man, ob ein Prozess in Windows mit Python 2.2 läuft?
- 11. Überprüfen Sie, ob ein gespeicherter Prozess läuft.
- 12. Erkennen, ob ein Prozess noch läuft
- 13. OSX: Wie erkennt man, ob Mission Control läuft?
- 14. Wie erkennt man, ob ein Thread oder Prozess wegen OS-Planung ausgehungert wird
- 15. Überprüfen, ob der Prozess läuft
- 16. Wie erkennt man, ob Vim im eingeschränkten Modus läuft?
- 17. Läuft InfluxDB unter Windows
- 18. Wie erkennt man, ob auf einem Windows-Rechner IPV4 oder IPV6 läuft?
- 19. Wie finde ich heraus, ob ein Prozess in C läuft?
- 20. Wie überprüfe ich mit inno-setup, ob ein Prozess bei einem Windows 2008 R2 64bit läuft?
- 21. Wie erkennt man, wenn ein Windows Explorer Fenster geschlossen wurde?
- 22. Mit Perl, wie überprüfe ich, ob ein Prozess mit dem angegebenen Namen läuft oder nicht?
- 23. Wie überprüfe ich, ob ein Prozess in Python unter Linux läuft?
- 24. C - Wie überprüft man, ob ein Prozess ein Systemprozess ist?
- 25. Wie erkennt man, dass das System läuft?
- 26. Wie erkennt man, ob ein Datei-Handle ein Socket ist?
- 27. Wie erkennt man, ob ein JPEG CMYK-Farbprofil enthält?
- 28. Wie erkennt man, ob ein OpenGL-Kontext Hardware-beschleunigt ist?
- 29. Läuft VSTO unter Windows Azure?
- 30. Wie erkennt man, ob sich eine Java-Systemeigenschaft geändert hat?
mehrdeutige Frage. Möchten Sie herausfinden, ob der Windows-Prozess eine Java-App ist, oder möchten Sie herausfinden, wie eine Java-Anwendung erkennen kann, ob sie unter Windows läuft? –
Worum müssen Sie arbeiten? Eine Prozess-ID? Der Name der ausführbaren Datei? Hast du den Prozess gestartet? Wartest du, ob es schon fertig ist? Im Grunde, warum möchten Sie überprüfen, ob es läuft. Je nach Situation gibt es unterschiedliche Techniken. –
@Stephen C du hast vollkommen recht, ich war nicht klar genug! Ich möchte wissen, wie programmgesteuert zu sehen, wenn zum Beispiel notepad.exe ausgeführt wird oder wenn firefox.exe usw. läuft ... hoffe, dass es löscht :) – gmunk