Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
relancement auto
Envoyé par: sebz

Bonjour,

J'ai un programme qui tourne en tache de fond:
l'utilisateur toto fait tourner le programme bidule mais celui s'arrête tout seul à des heures imprévisibles. J'aimerais bien le relancer s'il s'est arrêté tout seul avec un petit script, genre avec un grep sur top...comment faire?
Par exmple vérifier toutes demi'heures avec un crontab (je sais faire) si le prcessus bidule tourne et s'il ne tourne pas le relancer.
Comment on fait?

Merci

Seb.

Poste le Tuesday 29 June 2004 01:27:23
Répondre     Citer    
Re: relancement auto
Envoyé par: francoisp

inutile

mets le dans inittab en mode respawn au lieu de le lancer à la main
tout simplement

Poste le Tuesday 29 June 2004 10:47:12
Répondre     Citer    
Re: relancement auto
Envoyé par: sebz

Je veux que le service mldonkey qui s'arrête de manière irrégulière se relance tout seul. Pour l'instant il démarre tout seul au démarrage comme un service...
Comment on fait?
Puis e ajouter la ligne à mon fichier inittab:
5:5:respawn:su -l mldonkey -c "/home/mldonkey/scripts/mlnet.script.sh"

Le script mlnet.script.sh contient:
#!/bin/bash
cd /home/mlnet/mldonkey-2.5.19/
./mlnet &


Voici mon fichier inittab:
cat /etc/inittab $
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by Mandrake Linux are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

Poste le Tuesday 29 June 2004 22:24:03
Répondre     Citer    
Re: relancement auto
Envoyé par: sebz

Ca ne marche pas et c'est l'utilisateur mldonkey qui doit lancé le programme mldonkey..
mandrake me le gère comme un service (démarrage au boot et arret à l'extinction du pc) mais ne le relance pas en cas d'arret...

Poste le Tuesday 29 June 2004 22:42:12
Répondre     Citer    
Re: relancement auto
Envoyé par: Eric92

Le plus simple serait peut-être de modifier le script "mlnet.script.sh" avec une boucle infinie :
#!/bin/bash
cd /home/mlnet/mldonkey-2.5.19/
while : ; do ./mlnet
done

- Ou pour revenir à ta 1ère idée, un petit script en crontab :
ps -e -o comm | grep "mlnet" >/dev/null
if [ $? !=0 ]; then
su -l mldonkey -c "scripts/mlnet.script.sh &"
fi

Poste le Wednesday 30 June 2004 02:23:55
Répondre     Citer    
Correctif : relancement auto
Envoyé par: Eric92

Attention il manquait un blanc, il faut mettre :
if [ $? != 0 ]; then
....

Poste le Wednesday 30 June 2004 02:26:50
Répondre     Citer    
Re: Correctif : relancement auto
Envoyé par: sebz

le script en crontab: je le mets genre toutes les 30minutes: il redémarre mldonkey si jamais il est arrêté c ca?

Poste le Wednesday 30 June 2004 21:17:57
Répondre     Citer    
Re: relancement auto
Envoyé par: Eric92

Oui c'est ça, en supposant que le programme à surveiller s'appelle "mlnet" (sinon il faut adapter).

Poste le Thursday 1 July 2004 01:40:16
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
relancement auto
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons