【问题标题】:Running a node.js script with launchd使用 launchd 运行 node.js 脚本
【发布时间】:2016-01-12 03:49:30
【问题描述】:

我正在尝试运行我用 node.js 制作的网络爬虫。 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 对其进行测试。

预期的行为 - 根据抓取结果接收电子邮件 - 没有发生,并且日志文件中没有错误。同样,网络爬虫在终端上工作。

【问题讨论】:

    标签: node.js launchd


    【解决方案1】:

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

    launchctl start com.username.kijijiscraper
    

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

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

    如果你需要的话:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 1970-01-01
      • 2013-03-10
      • 2020-11-20
      • 2019-11-15
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多