【问题标题】:Shell Script Spawned From systemd Node App Doesn't Edit etc File从 systemd 节点应用程序生成的 Shell 脚本不编辑 etc 文件
【发布时间】:2017-10-03 08:32:46
【问题描述】:

我有一个在启动时启动 Node 应用程序的 systemd 服务。 Node 应用程序使用child_process.spawnSync 启动一个shell 脚本,该脚本使用sed 编辑/etc/wpa_supplicant/wpa_cli-actions.sh

如果我从命令行手动启动 Node 应用程序,则 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

【问题讨论】:

  • 它是否被编辑过?

标签: node.js linux systemd intel-edison


【解决方案1】:

试试下面的,如果你不指定UserGroup,默认启用root,将整个path to node>替换为你的node路径,可以找到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

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2017-04-17
    • 1970-01-01
    • 2013-04-14
    • 2015-04-13
    相关资源
    最近更新 更多