launchdを使用してスクリプトを実行しようとしていますが、ロードした後もステータス127を取得し続けます。 plistとscriptの両方の所有権、パーミッション、絶対パスなどをチェックしました。私はmacos 10.13を使ってMacで動かしています。 これがplistです:
<dict>
<key>Label</key>
<string>com.parkridge.UrlHistory</string>
<key>StartInterval</key>
<integer>21600</integer>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>/Users/Shared/Resources/Logs.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>/dev/null</string>
<key>StandardErrorPath</key>
<string>/dev/null</string>
</dict>
スクリプトを手動で実行することもできますし、それは機能します。
残念なことに、127はさまざまなことを意味しますが、多くの場合パスとアクセス権に帰着します。 Logs.shの許可と所有権は何ですか?
—
MMB
MMBさん、パーミッションは644、所有者root:wheelに設定されています。
—
James
そのとおりです。次にチェックしたいのはあなたのLogs.shスクリプトです。 launchdが取得するパスは、取得するパスとは異なります。疑問がある場合は、スクリプト内で呼び出す実行可能ファイルへのすべてのパスをハードコードしてください。
—
MMB
MMB、私は戻ってパスをハードコーディングしました...それはそれを修正したようです。ありがとうございました。
—
James