最近我遇到了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
答案 0 :(得分:0)
问题出在其他地方。发出restart
后,如果systemd
信号无效,TERM
会向应用发出KILL
信号,然后发出TERM
信号最后,该部门将重新启动。
您确认该应用实际上正在停止并启动吗?
您可以向TERM或KILL信号添加信号处理程序以进行检查。