我正在尝试使用 python 安装 OSX LaunchDaemon,但使用 subprocess.Popen 调用 launchctl 实际上并没有安装该服务。
我在 /Library/LaunchDaemons/ 中有 plist 文件,我可以使用终端很好地加载 plist 文件:
$ launchctl load -w /Library/LaunchDaemons/com.myplist.file.plist
$ launchctl start com.myplist.file
$ launchctl 列表
“- 0 com.myplist.file”
该服务通过命令行正确加载和启动,这意味着我的 plist 文件已正确设置,但是当我使用 python subprocess.Popen 或任何 python 系统调用命令执行相同的命令时问题就开始了。
# Load the service
command = shlex.split("launchctl load -w /Library/LaunchDaemons/com.myplist.file.plist")
subprocess.Popen(command)
# Start the service
command = shlex.split("launchctl start com.myplist.file")
subprocess.Popen(command)
我也尝试过设置shell=True但没有运气。对此有任何想法或想法吗?