如何使用节点 pi-4 使我的 discord.js 在启动时启动?
How can I make my discord.js start at boot using node pi-4?
总的来说,我是 linux 的新手,所以我可能不了解某些事情。因此,我尝试了多种解决方案,但在 运行 discord.js 机器人中我没有成功。我已经将 rc.local
与其他脚本一起使用,例如在启动时在文件上写入日期 date > <file-path>
并且它工作正常,但不知何故 运行 机器人在启动时失败并且也无法完全读取任何错误。
rc.local
文件:
#!/bin/sh -e
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/bin/sh /home/pi/superscript.sh
exit 0
superscript.sh
文件:
#!/bin/sh
date > /home/pi/boot.log
( cd /home/pi/Desktop/discord-bot; /usr/bin/node /home/pi/Desktop/discord-bot/index.js ) &
当我手动执行它时,机器人工作得很好node ~/Desktop/discord-bot/index.js &
,如果我手动执行它甚至可以工作superscript.sh
,所以我无法真正找到问题所在。谁能帮帮我,我将不胜感激。
谢谢。
最简单的方法是使用crontab在启动时执行命令
# Edit cron
crontab -e
# type following to start a script-file.sh on startup
@reboot script-file.sh
参考:https://www.simplified.guide/linux/automatically-run-program-on-startup
总的来说,我是 linux 的新手,所以我可能不了解某些事情。因此,我尝试了多种解决方案,但在 运行 discord.js 机器人中我没有成功。我已经将 rc.local
与其他脚本一起使用,例如在启动时在文件上写入日期 date > <file-path>
并且它工作正常,但不知何故 运行 机器人在启动时失败并且也无法完全读取任何错误。
rc.local
文件:
#!/bin/sh -e
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/bin/sh /home/pi/superscript.sh
exit 0
superscript.sh
文件:
#!/bin/sh
date > /home/pi/boot.log
( cd /home/pi/Desktop/discord-bot; /usr/bin/node /home/pi/Desktop/discord-bot/index.js ) &
当我手动执行它时,机器人工作得很好node ~/Desktop/discord-bot/index.js &
,如果我手动执行它甚至可以工作superscript.sh
,所以我无法真正找到问题所在。谁能帮帮我,我将不胜感激。
谢谢。
最简单的方法是使用crontab在启动时执行命令
# Edit cron
crontab -e
# type following to start a script-file.sh on startup
@reboot script-file.sh
参考:https://www.simplified.guide/linux/automatically-run-program-on-startup