déclencheur nœud fichier js
J'ai un fichier JS qui fonctionne via node.js et donc, normalement, je manivelle ouvrez une fenêtre de terminal et tapez quelque chose comme node myfile.js
et il fonctionne et fonctionne toute la journée; fun.
Puis quand je veux redémarrer, je, appuyez sur control-c et et il se ferme. Ensuite, je peux exécuter de nouveau la commande.
Maintenant ce que je voudrais faire est d'être en mesure de le faire à travers une page web pour que mes utilisateurs peuvent effectuer la JS fichiers, et également être en mesure de "reboot".
Donc deux questions à ce sujet:
- Est-il possible, et si oui, comment dois-je commencer?
- C'est sûr, et si non, peut-on en être sûr?
Basé sur swatkins réponse
j'ai essayé et n'ai rien
$output = exec("node -v");
echo $output;
ensuite, j'ai essayé sur ma machine locale et il a bien fonctionné, ce qui donne ?
aussi je ne suis pas encore sûr de la sécurité et de la possibilité d'arrêter l'exécution d'un script
$output
doit être transmis en tant que second paramètre de la fonction exec: exec("node -v", $output); print_r($output);
OriginalL'auteur mcgrailm | 2011-12-23
Vous devez vous connecter pour publier un commentaire.
En supposant que vous êtes sur Unix système d'exploitation:
Vous pouvez exécuter des commandes shell via la fonction exec ():
$output
devient un tableau de chaque ligne de sortie, de sorte que vous pouvez voir ce que l'id de processus. Puis vous devez utiliser l'id de processus pour tuer le script:mise à jour de ma réponse, vous en aurez besoin pour obtenir l'id de processus, de sorte qu'en cours d'exécution
myscript.js
en arrière-plan (en ajoutant&
à la commande), vous recevez un id de processus dans le tableau de sortie. Vous aurez probablement besoin de faire un peu de manipulation de chaîne pour obtenir l'identification réelle, mais alors que vous venez de l'utiliser pour tuer le processus.cette certains exécute le script, mais il ne me donne pas tout uoutput jusqu'à ce que je tue le processus et puis il me donne les données écrites dans la console.journal (le)
Pas de travail pour moi. PHP ne peut pas trouver de nœud. Est-il un moyen de trouver le chemin d'accès vers le nœud en php?
Son ok bro, j'ai trouvé une solution de contournement pour windows en cas de besoin de quelqu'un stackoverflow.com/a/43851784/3201616
OriginalL'auteur swatkins
Je voudrais éviter toute interaction directe avec le shell. Il serait peut-être le plus sûr, pour le résoudre de cette façon:
OriginalL'auteur lucorlis