Salut !
J'ai un serveur nodejs et souhaite le faire tourner en permanence. Je lance mon serveur sur putty avec cette commande :
pm2 start app.js
Du coup j'ai installé les modules pm2 et forever pour ne pas mettre fin au process lorsque je ferme la session sur putty.
Cependant j'aimerais aussi envoyer mes propres commandes "custom" au serveur, par exemple quit; save; load. Pour se faire j'utilisais le stdin (quand j'hébergeais en local), mon code ressemblait à ça :
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (text) {
if (text.trim() === 'quit') {
// je fais quelque chose ici
}
if (text.trim() === 'save') {
// je fais autre chose là
}
if (text.trim() === 'load') {
// je fais autre chose là
}
});
Sauf que ce code ne fonctionne pas avec les modules pm2 et forever. D'après ce que j'ai compris c'est parce que mon process est "deamonized"
(je sais pas trop ce que ça veut dire). Bref, il n'y que les commandes des modules (pm2 et forever) qui sont écoutées, les miennes ne le sont pas
. (je ne vois même pas mes prints d'ailleurs)
Donc ma question est : Comment puis-je faire tourner mon programme en permanence en ayant la possibilité de faire des commandes "custom" ?
Merci d'avance