gpt4 book ai didi

node.js - 在 mediatek 7688 上守护 nodejs 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:58 24 4
gpt4 key购买 nike

我正在使用运行 OpenWRT Linux 的 Mediatek 7688 开发板来创建物联网设备。我已经用 NodeJS 编写了该应用程序,并希望它在电路板启动时随时执行。

我已经尝试了 [此处] ( How to auto start an application in openwrt? ) 给出的解决方案,虽然它有效,但开发板似乎无法完成启动过程(NodeJS 应用程序不退出)。我也尝试过 pm2 npm 模块,但在安装过程中遇到了磁盘空间问题。

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

提前致谢!

最佳答案

所以我只使用 pm2 模块来确保:

  1. 程序在启动时启动
  2. 程序在崩溃时重新启动

为了完成第一部分,由于我的程序是一个 node.js 程序,我通过在文件的第一行添加 #!/bin/sh env node 使其成为一个可执行文件.必须确保该行以 LF 行结尾而不是 Windows 系统中的 CRLF 结尾。完成后,我通过调用 chmod a+x myfile.js 授予了对 .js 文件的执行权限。

然后我在/etc/init.d 文件夹中创建了一个初始化脚本并启用了该脚本 - 如说明的那样 here

现在为了确保进程在崩溃时自动重启,我像这样创建了一个“cron 脚本”并将它保存在根文件夹中的 restart.sh 中:

#bin/sh
if pgrep -f myfile.js > dev/null
then
#process is already running - do nothing
else
/etc/init.d/myprocess start
fi

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

关于node.js - 在 mediatek 7688 上守护 nodejs 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46300947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com