Comment utilisez-vous le démarrage de pm2 avec un utilisateur non root?

Selon la documentation ici: http://pm2.keymesortingcs.io/docs/usage/startup/#startup-systems-support

Vous pouvez utiliser la commande pm2 startup ubuntu -u nodeapps pour ressusciter tous les travaux pm2 enregistrés au démarrage du serveur.

J’ai exécuté cette commande en tant qu’utilisateur nodeapps. Ensuite, j’ai reçu une commande sudo su à exécuter. Je me suis déconnecté de nodeapps, j’ai utilisé sudo su pour me connecter au système en tant que root et j’ai exécuté la commande:

 sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u nodapps --hp /home/nodeapps" 

Les processus n’ont pas redémarré au redémarrage du serveur. J’ai trouvé cette question sur Stack Overflow: Ubuntu 14.04 – pm2 démarrage ne démarre pas après le redémarrage .

Dans le script /etc/init.d/pm2-init.sh j’ai trouvé la ligne recommandée par cette question:

 export PATH=/usr/bin:$PATH export PM2_HOME="/home/nodeapps/.pm2" 

Mais ça me semble correct donc je n’ai rien changé.

J’ai ensuite trouvé cette question: pm2 Startup ne démarre pas sur Ubuntu

et dans mes journaux de démarrage, je trouve la ligne suivante:

 Starting pm2 /usr/bin/env: node: No such file or directory 

Je sais que ‘node’ sur Ubuntu est en fait ‘nodejs’. Serait-ce la raison?

Si c’est le cas, que puis-je faire pour que la commande de démarrage recherche nodejs au lieu de node.

Sinon, cela pourrait-il être un problème de $ PATH? Si c’est le cas, comment puis-je append le chemin correct à la racine (au moins, je pense qu’il devrait être ajouté à la racine)

(Publié au nom du PO) .

En fait, c’était le problème. Correction via la création d’un lien symbolique (en tant que root):

 ln -s /usr/bin/nodejs /usr/sbin/node