使用launchd

时间:2016-01-12 03:49:31

标签: node.js launchd

我正在尝试运行我使用node.js创建的Web scraper。 node app.js成功运行文件,但我无法启动以运行该脚本。这是我的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>com.username.kijijiscraper</string>

  <key>Program</key>
  <string>/usr/local/bin/node</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/username/documents/nodeprojects/scraper/app.js</string>
  </array>

  <key>StandardOutPath</key>
  <string>/Users/username/documents/nodeprojects/scraper/launchdOutput.log</string>
  <key>StandardErrorPath</key>
  <string>/Users/username/documents/nodeprojects/scraper/launchdErrors.log</string>

</dict>
</plist>

然后我用launchctl load /Users/username/library/launchagents/com.username.kijijiscraper.plist加载它,这是plist文件的保存位置。

最终会在一段时间内运行,但现在我正试图用launchctl start com.username.kijijiscraper进行测试。

预期的行为 - 根据刮擦结果接收电子邮件 - 不会发生,并且日志文件中没有错误。再次,webscraper在终端上工作。

1 个答案:

答案 0 :(得分:0)

您需要通过以下方式启动服务:

launchctl start com.username.kijijiscraper

在加载plist之后,或者只是附加:

<key>RunAtLoad</key>
<true/>

如果你需要这个:

<key>KeepAlive</key>
<true/>