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も設定しようとしましたが、うまくいきませんでした。これに関する考えやアイデアはありますか?