Mise à jour de 2016 : La série node-Windows/mac/linux utilise une API commune à tous les systèmes d'exploitation, c'est donc une solution tout à fait pertinente. Cependant, node-linux génère des fichiers init systemv. Comme systemd continue de croître en popularité, c'est de façon réaliste une meilleure option sur Linux. Les RP sont les bienvenus si quelqu'un veut ajouter le support de systemd à node-linux :-)
Sujet original :
C'est un vieux sujet maintenant, mais nœud-Windows fournit un autre moyen de créer des services d'arrière-plan sous Windows. Il est vaguement basé sur le nssm
le concept d'utilisation d'un exe
enveloppe autour de votre nœud script. Cependant, il utilise winsw.exe
et fournit une enveloppe de nœud configurable pour un contrôle plus granulaire de la façon dont le processus démarre/arrête en cas d'échec. Ces processus sont disponibles comme n'importe quel autre service :
![enter image description here]()
Le module intègre également un système d'enregistrement des événements :
![enter image description here]()
La démonisation de votre script est accomplie par le biais du code. Par exemple :
var Service = require('node-windows').Service;
// Create a new service object
var svc = new Service({
name:'Hello World',
description: 'The nodejs.org example web server.',
script: 'C:\\path\\to\\my\\node\\script.js'
});
// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install',function(){
svc.start();
});
// Listen for the "start" event and let us know when the
// process has actually started working.
svc.on('start',function(){
console.log(svc.name+' started!\nVisit http://127.0.0.1:3000 to see it in action.');
});
// Install the script as a service.
svc.install();
Le module prend en charge des fonctions telles que le plafonnement des redémarrages (pour éviter que les mauvais scripts n'endommagent votre serveur) et l'augmentation des intervalles de temps entre les redémarrages.
Comme les services node-Windows fonctionnent comme n'importe quel autre service, il est possible de gérer/surveiller le service avec le logiciel que vous utilisez déjà.
Enfin, il n'y a pas make
dépendances. En d'autres termes, un simple npm install -g node-windows
fonctionnera. Vous n'avez pas besoin de Visual Studio, de .NET ou de la magie des nœuds pour l'installer. De plus, il est sous licence MIT et BSD.
Pour tout vous dire, je suis l'auteur de ce module. Il a été conçu pour soulager la douleur exacte que le PO a éprouvée, mais avec une intégration plus étroite dans la fonctionnalité que le système d'exploitation fournit déjà. J'espère que les futurs utilisateurs qui se posent la même question le trouveront utile.
3 votes
Je pense qu'il voulait dire éteindre son système local.
65 votes
Il voulait dire que la fermeture d'une session ssh termine la tâche
6 votes
github.com/Unitech/pm2 est un gestionnaire de processus hautement maintenu et très stable, essayez-le !
2 votes
Vous pouvez utiliser l'écran ( aperiodic.net/écran/référence rapide )
0 votes
Vous pouvez utiliser nohup, cherchez dans google comment l'utiliser.