繁体   English   中英

MAC OSX代理-如何启动多个实例

[英]MAC OSX Agents - how to launch multiple instances

我正在尝试创建帮助器对象(它可以是守护程序或代理)。 如您所见,Chrome和Safari帮助程序应该按需启动它,并且它的多个实例应该在那里。

我尝试了什么? 我已经在Mac OS X中引用了这些Apple文档启动的 教程创建启动项

提到了对于多个进程,我们应该使用NumberOfProcesses键,我使用了它,但是在活动监视器中我只看到一个实例。

我的清单看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.anoop.test</string>
    <key>NumberOfProcesses</key>
    <string>5</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/anoopvaidya/Desktop/0@/WebTwainService</string>
        <string>start</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Application is agent (UIElement)</key>
    <string>YES</string>
</dict>
</plist>

我是否在复制Chrome上的Launch Agent助手的正确路径上? 请帮助我找到完成它的最佳方法吗?

NumberOfProcesses不是顶级密钥。 它是HardResourceLimits的子项,用于指示守护程序或代理在内核停止您运行之前可能创建多少个子进程。 它与启动创建流程的多个实例无关。

已启动不支持为单个作业管理多个流程。 Chrome和Safari不使用Launched管理工作流程。 他们自己管理这些。

如果要为每个应用程序提供单独的流程帮助,则可以使用应用程序XPC服务来实现,但是XPC也不支持为单个应用程序提供帮助的服务的多个流程。 有关更多信息,请参见运行同一XPC服务的多个实例(NSXPCConnection)

典型的模式是只有一个LaunchAgent / Daemon接受传入的连接,然后派生自己独立处理每个客户端。 我认为相同的模式应该适用于XPC服务(现在是首选),但是我以前没有以这种方式构建过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM