我正在尝试设置阿皮姆服务器在系统启动后自动统计。我还希望它在崩溃后重新启动。Appium 是作为 npm 包安装的,当我在终端中输入“appium”时,它会启动并正常工作。
因此,我所做的是在 /Library/LaunchAgents/ 中创建了文件 io.appium.server.plist,其内容如下:
<?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>io.appium.server</string>
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string><valid_user_name></string>
<key>GroupName</key>
<string>staff</string>
<key>ProgramArguments</key>
<array>
<string>appium</string>
<string>--session-override</string>
</array>
</dict>
</plist>
然后为该文件分配适当的所有者(chown)和权限(chmod)并执行以下命令:
sudo launchctl load /Library/LaunchAgents/io.appium.server.plist
由于某种原因,这没有启动 appium 服务器,我无法连接到它。“launchctl list”命令报告我的任务以 78 状态代码退出,但在 Appium 的文档中我找不到这个退出代码的含义。
$ launchctl list | grep appium
- 78 io.appium.server
我错过了什么?为什么 appium 从命令行启动时可以正常启动,但从 launchd 启动时却不行?
我尝试将 plist 文件移动到用户目录: ~/Library/LaunchAgents/ ,并更改 UserName,但都没有帮助。我通过设置 StandardOutPath 和 StandardErrorPath 键对其进行了调试,我发现输出文件已创建但为空。