#1 Le 24/09/2014, à 12:20
- ryhoof19
problème exécution de script bash
Bonjour,
J'ai un problème lors de l'exécution de mon script, je reçois pas le résultat attendu. Ci-dessous mon script:
#!/bin/bash
check() {
if ps ax | grep -v grep | grep $1 > /dev/null
then
return 1
else
return 0
fi
}
check $1
ret=$?
echo "$ret"
Mon premier argument est un script daemon_script.sh qui ne fait rien (juste un sleep 60). Je lance mon script ci-dessus (sans que le daemon_script.sh soit lancé) mais j'ai 1 comme retour mais moi je m'attends à 0.
# ./test_running daemon_script.sh
1
# ps -ef | grep daemon_script.sh
root 21337 20417 0 12:17 pts/0 00:00:00 grep daemon_script.sh
Merci beaucoup pour votre aide.
Hors ligne
#2 Le 24/09/2014, à 13:46
- serged
Re : problème exécution de script bash
ps pipé sur deux grep c'est pas un peu trop alors qu'il existe pgrep qui fait le boulot tout seul ?
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#3 Le 24/09/2014, à 14:09
- ryhoof19
Re : problème exécution de script bash
Oui mais le problème n'est pas à ce niveau là ...
Hors ligne
#4 Le 24/09/2014, à 17:09
- Watael
Re : problème exécution de script bash
salut,
simplifier les choses aide au débuggage!
quand on connaît le nom exact du processus qu'on cherche à détecter, on peut se satisfaire de `ps -C <processus_cherche>'
j'ai testé ta fonction, telle quelle, et elle retourne bien 0...
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 24/09/2014, à 17:18
- jplemoine
Re : problème exécution de script bash
Je pense surtout qu'il manque une condition....
if ps ax | grep -v grep | grep $1 > /dev/null
Je ne pense pas que ps soit une condition....
Je verrais plus un truc du style (syntaxe à adapter)
var="`ps ax | grep -v grep | grep $1`"
if "$var"= ""
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
En ligne
#6 Le 24/09/2014, à 17:39
- Watael
Re : problème exécution de script bash
et moi, «je pense surtout» que tu manques de connaissances élémentaires en script shell :
`if' conditionne l'exécution de telle ou telle autre partie (`then', ou `else') en fonction du retour de la commande exécutée, que ce soit `[', `test', `[[', ou n'importe quelle autre commande.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne