首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mediatek 7688上的Daemonize nodejs应用程序

mediatek 7688上的Daemonize nodejs应用程序
EN

Stack Overflow用户
提问于 2017-09-19 12:50:18
回答 1查看 263关注 0票数 0

我正在使用运行OpenWRT linux的Mediatek 7688板创建一个IoT设备。我已经用NodeJS编写了这个应用程序,希望它在任何时候都能被执行。

我已经尝试了给here的解决方案,虽然这是可行的,但董事会似乎无法完成启动过程( NodeJS应用程序没有退出)。我也尝试过pm2 npm模块,但在安装过程中遇到了磁盘空间问题。

有办法减少pm2模块的“已安装”大小吗?或者是一种在启动时不使用模块就触发NodeJS脚本的方法。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-16 19:40:08

因此,我只使用pm2模块来确保:

  1. 程序从启动时开始。
  2. 为了防止程序崩溃,程序重新启动。

为了完成第一部分,并且由于我的程序是node.js程序,我将#!/bin/sh env node作为文件中的第一行添加到可执行文件中。必须确保该行以LF行结束,而不是像windows系统那样以CRLF结束。完成后,我通过调用.js文件向chmod a+x myfile.js授予执行权限。

然后,我在/etc/init.d文件夹中创建了一个init脚本,并启用了该脚本--如here所解释的

现在,为了确保进程在崩溃时自动重新启动,我使用了一个"cron脚本“,并将其保存为根文件夹中的restart.sh:

代码语言:javascript
复制
#bin/sh
if pgrep -f myfile.js > dev/null
then
   #process is already running - do nothing
else
   /etc/init.d/myprocess start
fi

最后,使用crontab -e设置一个* * * * * ~/restart.sh,以便每分钟执行restart.sh,以确保进程正在运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46300947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档