Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > Solaris
Solaris Forum d'entraide sur le système Solaris.
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 09/06/2011, 10h52   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 7
Points : 7
Par défaut Récuperer le retours de ps

Bonjour,

Je suis sous solaris, en ksh (mais j'ai le même problème en bash)
Je ne comprend pas pourquoi je n'arrive pas a récupérer le retours de grep:

Code :
1
2
3
4
5
6
7
8
9
10
11
#!/bin/ksh
SERVICE='bash'
TEST=`ps | grep -v grep | grep $SERVICE > /dev/null`
echo TEST=$TEST
if ps | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
fi
Code :
1
2
3
4
# ./test.ksh
TEST=
bash service running, everything is fine
Quelqu'un peut éclairer ma lanterne ?
llusca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 11h01   #2
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Bonjour,

Il faut ajouter l'option -ef dans la commande ps

A+
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 11h30   #3
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
mmmhh

Si tu envoies tout vers /dev/null, il est évident que tu ne pourras jamais récupérer l'output de ta commande!
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 11h46   #4
Membre régulier
 
Inscription : mars 2009
Messages : 321
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 321
Points : 93
Points : 93
Après avoir fait le test en ajoutant le -ef il n'y a pas de problème le test ce fait bien aucun soucis de ce coté là.
AAWOOPY56 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 12h21   #5
Invité régulier
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 7
Points : 7
Par défaut Résolu: Récuperer le retours de ps

Merci,
Par contre je m'attendais à avoir 0 ou 1 en retours.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# cat test.ksh;./test.ksh
#!/bin/ksh
SERVICE='bash'
TEST=`ps -ef | grep -v grep | grep $SERVICE > /dev/null`
TEST2=`ps -ef | grep -v grep | grep $SERVICE`
echo TEST=$TEST
echo TEST2=$TEST2
#if ps | grep -v grep | grep $SERVICE > /dev/null
if [ "$TEST2" != "" ]
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
fi
TEST=
TEST2= webadm 5649 5627 0 May 31 pts/33 0:00 bash webadm 1005 999 0 Jun 08 pts/18 0:01 bash webadm 12683 7954 0 Jun 08 pts/2 0:00 bash webadm 22510 22439 0 Jun 01 pts/17 0:00 bash webadm 4745 4739 0 Jun 07 pts/3 0:00 bash webadm 7925 7914 0 11:17:58 pts/7 0:00 bash webadm 16189 16179 0 Jun 07 pts/28 0:00 bash webadm 7954 7937 0 Jun 07 pts/2 0:00 bash webadm 3083 3076 0 10:30:19 pts/24 0:00 bash webadm 29943 29937 0 Jun 07 pts/23 0:00 bash webadm 15919 15912 0 Jun 06 pts/10 0:00 bash webadm 594 25831 0 Jun 07 pts/27 0:00 bash
bash service running, everything is fine
llusca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 12h47   #6
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Si tu souhaites récupérer le code retour de la commande, Dans ce cas, tu dois utiliser $? pour récupérer cette valeur

Code :
1
2
3
4
5
6
7
8
wil@vm-ubuntu8:~$ ps | grep -v grep | grep bash
 3469 pts/1    00:00:00 bash
wil@vm-ubuntu8:~$ echo $?
0
wil@vm-ubuntu8:~$ ps | grep -v grep | grep toto
wil@vm-ubuntu8:~$ echo $?
1
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/06/2011, 00h25   #7
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 965
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 965
Points : 1 367
Points : 1 367
Il y a plus simple:

Code :
1
2
3
4
5
6
7
8
#!/bin/ksh
SERVICE=bash
if pgrep $SERVICE >/dev/null
then
	echo $SERVICE is running
else
	echo $SERVICE is not running
fi
voire même en plus compact:
Code :
1
2
3
#!/bin/ksh
SERVICE=bash
printf "%s is %srunning\n" $SERVICE "$(pgrep $SERVICE >/dev/null || echo "not ")"
__________________
ɹǝsn *sıɹɐlos*
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h48.


 
 
 
 
Partenaires

Hébergement Web