在OSX上使用launchctl来启动和停止服务看起来很棒,但我还是没有看到检查返回值以确保它确实启动.即使服务无法启动,返回值似乎总是回归为零
此plist文件包含错误,因此无法按预期启动Drizzle
% launchctl start /Library/LaunchDaemons/org.drizzlebad.plist
% echo $?
0
Run Code Online (Sandbox Code Playgroud)
除了检查此服务的pid文件是否存在之外的任何建议?
Jer*_*man 10
你必须做错事,因为launchctl成功时只返回0:
$ launchctl start foobar
launchctl start error: No such process
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
此外,launchctl start获取作业标题(通常是反向DNS样式的名称),而不是plist的路径.这是launchctl load和unload那条走路.
如果您坚持认为它对您不起作用,您可以尝试仅为launchctl list您的作业名称输出,并在必要时解析字段.