【问题标题】:How can one run many copies of a MacOS App一个 MacOS 应用程序如何运行多个副本
【发布时间】:2019-05-09 10:21:12
【问题描述】:

我今天正在考虑这个问题,想知道 MacOS 应用程序上阻止我运行特定应用程序的 5 个实例的原因是什么?

我在想它可能是 bundle_id(类似于 iOS),但是当我复制并重命名应用程序(到 appname_2)时,编辑了该特定应用程序的 bundle_id(到 bundle_id_2),它没有启动,而是只放了那个应用程序在前台。

也许有一种方法可以检查设备的 Mac 地址,并且每个 Mac 地址只允许一个应用程序运行。

由于在网上很难找到相关信息,想知道是否可以在我的 Mac 上运行多个版本的应用程序。

我很确定虚拟机可以工作,但如果我想运行该特定应用程序的 100 个实例,那么 id 会用尽 ram 并且会使我的 Mac 无法用于实际工作。

提前致谢:D

【问题讨论】:

    标签: macos operating-system virtual-machine


    【解决方案1】:

    MacOS 上的 LaunchServices(Finder、NSWorkspace API 等)允许您在每个用户会话中运行一个应用程序。当您不使用启动服务时,没有什么能阻止您再次启动应用程序。 (并且您的假设是正确的,即 LaunchServices 会查看 BundleID 以查看应用程序是否已在运行)。

    例如当您打开两个终端窗口并通过 (/Applications/Mail.app/Contents/MacOS/Mail) 启动邮件时,您有两个邮件实例。 open /Applications/Mail.app/ 不会工作两次,因为它会使用 LaunchServices。

    【讨论】:

    • 有没有办法阻止特定应用的启动服务?你有什么推荐的博文吗?
    • 我一直在尝试这样做以运行某个应用程序 /Applications/myapp.app/Contents/MacOS/myapp & 并让 Programm 已经运行然后它退出 - 有没有任何解决方案可以绕过它?
    • @stringRay2014 它是如何退出的?在这种情况下,程序(可能)确实有它自己的额外检查。
    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多