1

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

4

1 に答える 1