gpt4 book ai didi

node.js - 如果网络连接断开,请重新启动 systemd 服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:45:06 26 4
gpt4 key购买 nike

我将此单元文件作为系统服务运行。它基本上启动了一个在本地网络上的 Raspberry Pi 上运行的 Nodejs Express 应用程序。该应用程序运行良好,但如果由于某种原因路由器或网络出现故障并再次备份,该应用程序将停止监听,我必须重新启动 systemd 服务才能使其再次运行。

[Unit]
Description=Employee Manager PiClock VueJs App
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/home/pi/.nvm/versions/node/v8.9.4/bin/node /home/pi/employee-manager-app/vuejs-app-server/app.js
User=pi
Restart=always
# Restart service after 2 seconds if node service crashes
RestartSec=2

[Install]
WantedBy=multi-user.target

有没有办法在网络断断续续时自动重启服务?

最佳答案

Systemd 目标一旦达到,当连接状态改变时不会再次触发。根据您的网络管理方式,有几个选项:

如果您已经在使用 NetworkManager,您可以利用它的 dispatcher scripts在网络变化时触发。

如果您使用 systemd-networkd,您也许可以使用 networkd-dispatcher 以类似的方式工作。

对于 netctl,您可以使用 netctl hooks当您的界面恢复正常时。

wicd 以及许多其他工具具有类似的功能,但据我所知,systemd 缺乏其自身的持续网络监控。

关于node.js - 如果网络连接断开,请重新启动 systemd 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48688993/

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