由于奇怪的原因,工作未能执行(3):8

时间:2013-04-02 18:11:23

标签: macos osx-mountain-lion launchd launchdagent

我正在尝试在OS X Mountain Lion 10.8.3中安排一个简单的任务

launchctl start nextstopsun.helloworld

命令不执行脚本并将消息抛出到控制台

4/2/13 9:50:49.663 PM com.apple.launchd.peruser.501[139]: (nextstopsun.helloworld[46729]) Job failed to exec(3) for weird reason: 8

我的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>nextstopsun.helloworld</string>
    <key>Program</key>
    <string>/Users/nextstopsun/Work/scripts/hw.sh</string>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>21</integer>
        <key>Minute</key>
        <integer>15</integer>
    </dict>
    <key>UserName</key>
    <string>nextstopsun</string>
</dict>
</plist>

脚本也很简单

echo "Hello World!" > hw.log

launchctl加载它没有错误。 从shell执行脚本时,它按预期工作。 注销并重新登录无济于事。 在Google中没有找到任何答案。 什么是“奇怪的原因:8”都是关于?

1 个答案:

答案 0 :(得分:8)

很少有建议:

  1. 让您的脚本可执行(chmod +x <your_script>)或通过bash或sh传递脚本作为参数启动它
  2. 最有可能:你的shebang行(#!)中有错误,但是它无法被launchd识别。试试#!/bin/sh#!/bin/bash。请注意,它必须是脚本中的第一行。
  3. 首先通过launchctl load <your_plist>加载您的工作。但我认为你已经完成了这个或者会有其他错误信息。