Bonjour à tous
Je ne suis pas un spécialiste Linux et je cherche un peu d'aide.
J'ai un process qui s'arrête de temps à autre sans laisser de trace.
Je cherche donc un script bash qui serait toujours présent en parallèle pour vérifier la présence de mon process et ainsi le relancer automatiquement s'il est absent.
Le pid n'est jamais le même et le nom du process quand j'affiche ps est : /usr/local/manta
Quelqu'un aurait-il un script qui permette de vérifier la présence de ce process et de la relancer quand il est mort ?
Merci beaucoup de votre aide.
Cordialement
Didier
# un truc ....
Posté par morphine . Évalué à 2.
# dans une boucle
Posté par errno . Évalué à 2.
#------------8<-----------------
#!/bin/sh
to_start=/usr/bin/tonprog
process_name=manta
interval=60
while true
do
if ! pidof ${process_name}
then
exec ${to_start}&
else
/bin/sleep ${interval}
fi
done
#------------8<-----------------
# Quelques pistes
Posté par Jean Parpaillon (site web personnel) . Évalué à 3.
# Lance ma_commande en tache de fond
ma_commande &
# Stocke le pid dans un fichier
PID_FILE=/tmp/ma_commande.pid
echo $! > /tmp/ma_commande.pid
Le script qui check et relance ressemble à ça :
PID_FILE=/tmp/ma_commande.pid
PID=`cat $PID_FILE`
while true ; do
IS_ALIVE=`ps h $PID`
if [ -z $IS_ALIVE ] ; then
ma_commande &
echo $! > /tmp/ma_commande.pid
PID=`cat $PID_FILE`
fi
sleep 5
done
Si tu as besoin de commentaires, n'hésite pas
"Liberté, Sécurité et Responsabilité sont les trois pointes d'un impossible triangle" Isabelle Autissier
[^] # Re: Quelques pistes
Posté par morphine . Évalué à 1.
#!/bin/sh
ma_commande &
while true
do
done
trap ma_commande & SIGCHLD
[^] # Re: Quelques pistes
Posté par Krunch (site web personnel) . Évalué à 3.
Une autre méthode serait (en admettant que "ma_commande" bloque et ne se "daemonise" pas toute seule): Tout simplement.
Tu peux aussi jeter un coup d'oeil à start-stop-daemon(8).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.