systemd不会重新加载更新的应用程序代码

时间:2017-05-28 17:48:40

标签: node.js systemd

最近我遇到了systemd这个奇怪的问题,我有一个nodejs应用程序,我使用systemd运行,一切正常,直到我对我的应用程序代码进行任何更改并重新启动我的systemd服务,但我新做的更改没有&# 39;反映执行情况(除非我重启机器)。

我观察到的另一件事是,如果我使用非常小的应用程序测试代码然后按预期工作,我的假设是我的应用程序代码大小可能会导致此行为。

提前致谢。

[Unit]
Description=sandbox
Documentation=https://example.com
PartOf=appbase.target

[Service]
ExecStart=/home/user/.nvm/versions/node/vx.x.x/bin/node /home/user/repo/Server/SandboxServer.js
Restart=always
Slice=limits.slice
RestartSec=10                       # Restart service after 10 seconds if node service crashes
StandardOutput=syslog               # Output to syslog
StandardError=syslog                # Output to syslog
SyslogIdentifier=sandbox

[Install]
WantedBy=multi-user.target

1 个答案:

答案 0 :(得分:0)

问题出在其他地方。发出restart后,如果systemd信号无效,TERM会向应用发出KILL信号,然后发出TERM信号最后,该部门将重新启动。

您确认该应用实际上正在停止并启动吗?

您可以向TERM或KILL信号添加信号处理程序以进行检查。