Java サービスを実行できる launchctl サービスを構築しています。root ユーザーで launchctl サービスを作成し、再起動時の開始/停止/ステータス/自動開始の使用例をテストできます。
ec2-user
root 以外のユーザー (私の場合)と同じ launchctl サービスを実行するのに苦労しています。
私の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>siem</string>
<key>ProgramArguments</key>
<array>
<string>java</string>
<string>-jar</string>
<string>/Users/ec2-user/siem.jar</string>
</array>
<key>RunAtLoad</key>
<true/> <!-- run the program at login -->
<key>KeepAlive</key>
<true/> <!-- run the program again if it terminates -->
<key>WorkingDirectory</key>
<string>/Users/ec2-user</string>
<key>StandardErrorPath</key>
<string>/tmp/mycommand.err</string>
<key>StandardOutPath</key>
<string>/tmp/mycommand.out</string>
</dict>
</plist>
で上記のサービスを実行するために、さまざまな手順を試しましたec2-user
。の UIDec2-user
は 501 です。
ec2-user@ip-172-31-30-212 ~ % launchctl bootstrap gui/501 ~/Library/LaunchDaemons/siem.plist
Bootstrap failed: 125: Unknown error: 125
plistファイルの内容を確認しました
ec2-user@ip-172-31-30-212 ~ % plutil ~/Library/LaunchDaemons/siem.plist
/Users/ec2-user/Library/LaunchDaemons/siem.plist: OK
でブートストラップサービスを試しましたuser
ec2-user@ip-172-31-30-212 ~ % launchctl bootstrap user/501 ~/Library/LaunchDaemons/siem.plist
Bootstrap failed: 5: Input/output error
上記のエラーはすべて詳細ではなく、方法が見つからないようです。
私の目標: root 以外のユーザーで launchctl サービスを実行したい。
環境の詳細:
OS : AWS EC2 インスタンス上の macOS
macOS バージョン: BigSur とモントレー
前もって感謝します。