爲了防止應用程序的多個實例,我使用了套接字技術。但是我想打開同樣的應用程序實例,如果它已經在jvm中運行,就像skype.Skype自動啓動相同的程序,如果我們從開始菜單啓動。任何想法?如果已經運行在JVM中,如何指向相同的運行實例?
0
A
回答
0
在這種情況下使您的應用程序Singleton
。
如果它不是null(正在運行),則使用相同的實例,否則將其實例化並使用它。要開始使用singleton設計模式,您可能需要參考this。
如果你想檢查是否從另一個Java進程,你可以參考下面的線程
How to programmatically detect if a process is running with Java under Windows?
如果你需要的進程正在運行,不採取任何行動運行某些程序。如果不啓動它
啓動過程應該很容易 -
通過Runtime.getRuntime().exec()
執行start processName
。
不知道你是否能終止通過WMIC實用程序的過程,但你總是可以用WMIC獲取進程的PID與taskkill /F /PID processPid
相關問題
- 1. Apache Karaf根實例已經在運行
- 2. 如果它已經在運行,請不要運行python腳本
- 3. 如果應用程序實例已在運行,請調用已運行實例中的方法
- 4. 如果相同的功能已經在運行,請不要做任何事情
- 5. 如果已經運行,請退出VLC
- 6. Java kill程序如果已經運行
- 7. 如何在dataGridView中覆蓋相同的行如果DateTime已經在行中?
- 8. 如果我的應用程序的第二個實例已經運行在JAVA中,該如何停止執行?
- 9. 在已經存在的EC2實例中運行腳本
- 10. 如何防止cron作業執行,如果它已經運行
- 11. 操作已經運行Excel的實例在PowerShell中
- 12. VB.Net在已經運行的單詞實例中使用ActiveDocument
- 13. 如何防止服務再次運行,如果已經運行android
- 14. 如何運行mongod實例
- 15. 在新實例中運行JVM或暫停JVM一段時間
- 16. 是否有可能運行asyncio.Server實例,而事件循環已經在運行
- 17. jvm如何運行程序
- 18. 獲取同一Java應用程序的實例(如果它已在運行)
- 19. 如何確保vsvars32.bat已經運行
- 20. 在nowjs中運行不同的實例
- 21. 該服務的實例太多已經在運行
- 22. 如何阻止已運行的相同exe文件的執行?
- 23. 如果硒已經運行,如何逃離殼體?
- 24. 如何只運行WMIC,如果它已經安裝?
- 25. 如果在索引已經運行時運行ElasticSearch索引會發生什麼?
- 26. 同時運行在同一個JVM上運行的java程序?
- 27. 如果Web作業在多個實例上運行,相同的作業是否會運行?
- 28. 如何在不同的AppDomain中運行多個服務實例?
- 29. 在同一個jvm中一次運行多個spark實例的最佳實踐?
- 30. 如何找出我的.app的一個實例是否已經運行?
是否可以打開或使用終止正在運行的過程中,殺死它WMIC? – 2014-09-21 07:31:28
不確定您是否可以直接啓動或終止使用wmic實用程序。由於您使用的是Java,因此您可以直接啓動和停止(兩步)。用相同的更新答案。 – 2014-09-21 07:56:45