我正在开发一个应用程序在可可,它需要检查该应用程序是否已经在启动运行。如果已经运行,那么我需要退出新实例..是否有任何方法可以做到这一点..寻找一个完美的解决方案检查应用程序是否已经运行
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