Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2007, 10h42   #1
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
Par défaut Vérifier qu'un démon est toujours actif

Bonjour

Ce matin, je me suis heurté à un problème. Un client a voulu se connecter sur mo nserveur pour soumettre des jobs. Or, apparemment, le démon concerné ne répondait pas.
Dans mon script shell pour gérer mes jobs, je veux vérifier si le démon est présent. Pour ce faire, j'effectue l'opération suivante :
Code :
1
2
3
4
5
6
 
PS=`ps -u gldavid | grep daemon`
if [ -z "$PS" ]
then
        /cluster/home/gldavid/bin/lauchDaemon
fi
En clair, avec la commande ps, je veux voir si je récupère la ligne relative au démon daemon. Si elle n'existe pas, je lance le démon.
Voici la sortie de ma commande ps pour le démon :
Code :
1
2
 
 8197 ?        00:00:00 daemon
Or, il me semble que c'est insuffisant. Il faudrait que je vérifie si ce démon est toujours actif.
Une bonne âme pour m'aider ?

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 21h23   #2
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Bonjour

J'ai réalisé, il y a quelques jours un petit script en perl pour vérifier si l'application xscreensaver est lancé ou pas.

Voici le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
#!/usr/bin/perl -w
 
## BEGIN
 
use strict;
use warnings;
 
# variables
my $process="xscreensaver";
 
# check if process running
if (`pidof $process` =~ m/\d/) {
	system("/usr/bin/killall $process");
	system("/usr/local/bin/xscreensaver");
    } else {
	    system("/usr/local/bin/xscreensaver");
    }
 
## END
puis en sh:
Code :
1
2
3
4
5
6
7
8
9
10
 
#!/bin/sh
 
pidcsup="csup"
 
if [ '' != "`pidof $pidcsup`" ]
      echo "running"
else
      echo "stopping"
fi
En espérant que cela puisse t'aider. Pourquoi ce script ? Je lance automatiquement via un script sh xscreensaver, le seul soucis, si je veux modifier une option vu qu'il est lancé c'est impossible dans ce cas je stoppe le daemon et je redémarre l'application pour apporter mes modifications.

++
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h45.


 
 
 
 
Partenaires

Hébergement Web