Bonjour à tous.
Grand débutant dans les script bash, je me retrouve avec un problème que je n'arrive pas à appréhender.
Mais tout d'abord, le contexte.
J'utilise un serveur node afin de réaliser un tchat, conjointement à une application développée en php. Le tout étant héberger sur un serveur ubuntu.
Afin de controler node.js, j'utilise un script appelé via php tel que suis :
Afin de pouvoir avoir un suivi des erreur, je redirige stderr dans un fichier. Toute fois, c'est là que çà coince.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #!/bin/bash pid_file="node.pid" log_file="logs/node-$(date +%Y-%m-%d).log" # Si l'arrêt est demandé, on arrête le serveur Node.js. if [ "$1" == "stop" ] then if [ -f $pid_file ] then kill $(cat $pid_file) rm $pid_file exit 0 fi fi # Si le lancement est demandé, on lance le serveur Node.js if [ "$1" == "start" ] then node map_server.js 2>> "$log_file" & echo $! > $pid_file exit 0 fi
Tant que le processus n'est pas tué, ma page tourne en rond et je reste du script php ne s’exécute pas.
Le serveur node est bien lancé et si je redirige la sortie vers /dev/null, le script ce déroule normalement.
Si une âme charitable, ou pas, avez un bout de solution a m'apporter, j'en serai ravi.
Partager