Killer un processus (NodeWK)

Par BaBeuloula, il y a 10 ans


Javascript NodeJS

Bonjour à tous,

Je cherche à killer un processus lancé via child_process.
Je cherche à executer du code PHP et du code nodejs dans une application totalement offline.

Voici mon code :

var cp = require('child_process'); var path = require('path'); var php_app = path.dirname(process.execPath) + path.sep + 'app'; var php_path = path.dirname(process.execPath) + path.sep + 'lib' + path.sep + 'php' + path.sep + 'php.exe -S localhost:1337 -t ' + php_app var php_process = cp.exec(php_path, function(error, stdout, stderr) { console.log(error); console.log(stdout); console.log(stderr); });

Et je voudrais qu'à la fermeture de mon application NodeWK, php.exe soit killé pour libéré la mémoire et le proc. Car à chaque fois que je lance mon application, il execute une instance de php.exe .

Merci d'avance

6 réponses

BaBeuloula, il y a 10 ans

Personne ?

BaBeuloula, il y a 10 ans

Merci pour les liens je teste ça dans la soirée et je reviens dire si c'est OK ou non

BaBeuloula, il y a 10 ans

Zut aucun des codes ne fonctionnent ...

TheMineGeek, il y a 10 ans

Tu ne peux pas essayer de récupérer le PID de php.exe à son lancement puis le kilo avec un exec à la fin ?

BaBeuloula, il y a 10 ans

Le problème c'est que le PID je ne le recupère pas tout de suite.

Par exemple les console log qui sont dans mon exec, je ne les vois que si je kill le processus via le gestionnaire de taches de Windows. Car php ne se lance pas un exe classique il reste en standbye tant qu'on lui dit pas exit. Je ne sais pas si je suis bien clair car même moi j'ai du mal à me comprendre ^^

Si vous voulez tester, je vous conseil de lancer en cmd php.exe et de regarder ce qu'il se passe