从 systemd 节点应用程序生成的 shell 脚本不编辑 etc 文件



我有一个SystemD服务,该服务在启动时启动了节点应用程序。节点应用使用child_process.spawnSync启动使用SED编辑/etc/wpa_supplicant/wpa_cli-actions.sh的Shell脚本。

如果我手动从命令行启动节点应用程序,则正确编辑了wpa_cli-actions.sh文件,但是当SystemD启动该应用程序时,未正确编辑。我的SystemD服务文件基于另一个启动类似服务的文件,因此我不确定我在做什么错。在JournalCTL输出中,我还没有看到与此相关的任何错误。以下是我的服务文件。

[Unit]
Description=The Edison status and configuration service
After=mdns.service
[Service]
ExecStart=/bin/su root -c 'node /usr/lib/config-server/app.js'
Restart=always
RestartSec=10s
StandardOutput=journal
StandardError=journal
SyslogIdentifier=edison-config
PrivateTmp=no
Environment=NODE_ENV=production
User=root
Group=root
[Install]
WantedBy=default.target

尝试以下内容,默认情况下,如果未指定 UserGroup,则默认情况下启用root节点,可以使用which node找到。

[Unit]
Description=The Edison status and configuration service
After=mdns.service
[Service]
ExecStart=<path to node> /usr/lib/config-server/app.js
WorkingDirectory=/usr/lib/config-server
Restart=always
RestartSec=10s
StandardOutput=journal
StandardError=journal
SyslogIdentifier=edison-config
PrivateTmp=no
Environment=NODE_ENV=production

[Install]
WantedBy=default.target

最新更新