J'essaie de mettre en place un système de construction pour Node.js sur sublime, afin que je puisse appuyer sur F7 pour appeler "node" sur le fichier ouvert. Le problème est que le processus est ensuite ouvert pour toujours, donc, la deuxième fois que j'utilise F7, je reçois un complément.
Existe-t-il un moyen de supprimer le processus "node.exe" de node.js?
Utilisez le jeu de commandes suivant pour identifier le processus en cours d'exécution sur un port donné et le résilier à partir de la ligne de commande.
Sudo fuser -v 5000/tcp // gives you the process running on port 5000
Il affichera des détails similaires à ceux présentés ci-dessous.
USER PID ACCESS COMMAND
5000/tcp: almypal 20834 F.... node
Puis utiliser
Sudo fuser -vk 5000/tcp
mettre fin au processus. Vérifiez encore une fois en utilisant
Sudo fuser -v 5000/tcp
pour s'assurer que le processus est terminé.
Sous Windows, vous pouvez utiliser les étapes suivantes
C:\> tasklist // will show the list of running process'
Image Name PID Session Name Session# Mem Usage
System 4 console 0 236 K
...
node.exe 3592 console 0 8440 k
Notez le PID correspondant à votre processus de noeud, dans ce cas 3592. Exécutez ensuite taskkill pour mettre fin au processus.
C:\> taskkill /F /PID 3592
Commutateur Or/IM
C:\> taskkill /F /IM node.exe
Depuis Node.js:
var die = function(quitMsg)
{
console.error(quitMsg)
process.exit(1);
}
die('Process quit');
Certaines méthodes disponibles pour la sortie ne sont disponibles que pour POSIX (c'est-à-dire pas Windows) qui quitteront un processus par son ID de processus.
Notez également que vous pourrez peut-être envoyer un signal kill () à l'aide de cette méthode, qui ne dit pas qu'il n'est pas disponible pour Windows:
process.kill(pid, [signal])
Si sublime vous dites qu'il est un plugin sublimeText, j'ai le même problème et envoie à TCP un message «shutdown» à partir du code python du serveur, puis
app.js
TCPserver
.on('connection', function(socket)
{
socket.pipe(require('through')
(function(data)
{ //----------------------------
if (data.toString() === 'shutdown')
{
process.exit();
}
//--------------------------
}));
socket.end();
})