我正在開發一個應用程序在可可,它需要檢查該應用程序是否已經在啓動運行。如果已經運行,那麼我需要退出新實例..是否有任何方法可以做到這一點..尋找一個完美的解決方案檢查應用程序是否已經運行
4
A
回答
5
這聽起來像你說你想讓你的可可應用程序的多個實例同時運行。通常,可可應用程序不允許同時運行多個實例,因此通常不需要執行此檢查。有沒有發現可可應用程序正在同時運行的特定情況?
一般來說,一種可可方式來解決這個問題,看看在NSWorkspace中啓動應用程序。這將返回一個NSArray,其中包含每個啓動的應用程序的字典。您可以遍歷數組來查看您正在查找的應用程序是否已在運行。我會建議你使用鍵值爲NSApplicationBundleIdentifier的值,它的值是「com.mycompany.myapp」,而不是查找名稱。如果您需要查找應用程序的包標識符,則可以查看應用程序包中的info.plist文件。
0
我在這裏的答案是不特定的對象c實現,但作爲一般的方法。在類似nix的系統中,守護進程通常會在某處創建一個pid文件來指示其存在。如果一個守護進程不允許多個實例,那麼應用程序的另一個消息應該首先檢查這個pid文件是否存在,如果存在,它自身存在。
0
您可以popen()ps命令的實例並查找應用程序名稱。如果你找到它,關閉新的。也許不是最快的方式,但它的工作原理:-)
相關問題
- 1. 檢查magento是否已經運行cronjob
- 2. rake檢查是否已經運行
- 3. 檢查CountDown是否已經運行
- 4. 檢查cronjob是否已經運行
- 5. 如何檢查javafx應用程序是否已經以編程方式運行?
- 6. 是否有可能檢查一個Angular應用程序是否已經運行應用程序模塊?
- 7. Linux互斥鎖檢查程序是否已經在運行?
- 8. 如何檢查應用程序是否已經在使用vb.net運行..?
- 9. 如何檢查rufus-scheduler是否已經在運行我的Rails應用程序
- 10. 如何檢查CABasicAnimation是否已經應用並運行?
- 11. 如何檢查WPF應用程序是否已在運行?
- 12. 檢查應用程序是否已在運行
- 13. 檢查第三方應用程序是否已經打開
- 14. C#應用程序打在已經運行的應用程序
- 15. 我們如何檢查javaFx應用程序是否已在運行?
- 16. 檢查部署應用程序的網絡是否已啓動並運行
- 17. 重新啓動應用程序並檢查是否已在運行
- 18. 檢查程序是否正在運行
- 19. 檢查程序是否正在運行
- 20. 如何在程序運行時檢查值是否已更改?
- 21. 檢查用戶是否已經登錄?
- 22. 檢查是否已購買已購買的應用程序iphone
- 23. 如何檢查應用程序是否正在運行,否則運行它?
- 24. 如何檢查用戶是否已經購買了應用程序?
- 25. Oracle PL/SQL:如何檢測過程是否已經在運行?
- 26. 檢查應用程序是否在前臺運行
- 27. 檢查應用程序是否在網絡上運行PC
- 28. android:如何檢查應用程序是否在後臺運行
- 29. 檢查我的應用程序是否在Android中運行
- 30. 檢查Qt C++應用程序是否以sudo運行
同樣的問題作爲http://stackoverflow.com/questions/1081218/ideal-way-to-single-instance-apps-on-the-mac? – smorgan 2009-07-04 15:48:04
這個相同的問題有最好的答案:[鏈接](http://stackoverflow.com/questions/684911/how-to-detect-whether-an-os-x-application-is-already-launched) – 2013-09-17 19:39:50