2017-05-05 2 views
1

J'ai un service systemd qui démarre une application Node au démarrage. L'application Node utilise child_process.spawnSync pour lancer un script shell qui modifie /etc/wpa_supplicant/wpa_cli-actions.sh à l'aide de sed.Script Shell généré à partir de l'application Node Systemd Ne modifie pas le fichier etc

Le fichier wpa_cli-actions.sh est édité correctement si je lance l'application Node manuellement à partir de la ligne de commande, mais n'est pas modifié correctement lorsque l'application est lancée par systemd. Mon fichier de service systemd est basé sur un autre qui lance un service similaire, donc je ne suis pas sûr de ce que je fais de mal. Je n'ai vu aucune erreur liée à ceci dans la sortie journalctl. Voici mon fichier de service.

[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 
+0

est-il édité à tous? –

Répondre

2

effectuez les opérations suivantes, et la racine est activée par défaut si vous ne spécifiez pas User ou Group, remplacer tout le chemin < au noeud> avec votre chemin vers le noeud, il peut être trouvé avec 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 
+0

Cela a fonctionné, merci. – user2174937