Bonjour à tous,
Je débute complétement sous linux et je bloque sur un problème.
Je lance sur une distribution Ubuntu Dapper un serveur de jeux. Jusque la, tous va bien. Je lance ensuite un deuxième serveur sur un second port. Tout fonctionne à merveille.
Je regarde donc à l'aide de la commande # top les processus en cours d'exécution et je vois bien mes 2 serveurs fonctionner.
PID : 2885 - COMMAND : HLDS_I486
PID : 2888 - COMMAND : HLDS_I486
Mon problème : Je souhaiterais que si un des serveurs plante, il soit automatiquement remis en route par le serveur.
J'ai donc trouver ce script sur le net :
Le soucis, c'est qu'avec ce script, le serveur ne sait pas exactement quel processus il doit surveiller. Enfin, il sait qu'il doit surveiller HLDS_I486 mais il ne sait pas forcément si il y en a un qui est planté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/bin/bash while true; do tache_a_executer & echo 'tache en cours d'execution..' wait echo 'Tache terminee. Redemarrage dans 5 secondes...' sleep 5
Donc, je voudrai renommer l'application lancée selon le numéro du serveur :
HLDS_I486_Serveur 1
HLDS_I486_Serveur 2
Jusque la, pas de soucis je pense savoir faire mais je ne suis pas sur que cela va fonctionner.
Donc, pour surveiller mes applications voici le script que je pense écrire :
1ère Question/ Mon script est il correcte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #!/bin/bash while true; do /home/serveur1/hlds_l/hlds_i486_serveur1 & wait sleep 5
Si il ne l'est pas pourriez vous m'indiquer mes erreurs et éventuellement me le réécrire correctement.
2ème Question/ Le PID d'un processus est il toujours le même ?
Si tel est le cas, ne serait il pas plus simple de vérifier que le serveur est en route par le numéro de son processus ? et si oui, quel script dois je utiliser.
Merci d'avance pour vos réponses.
Partager