#1 Le 21/01/2016, à 18:10
- livendirect
création d'un script avec une condition
bonsoir, je m'explique, afin de rendre possible un projet de sauvegarde, il me faudrait ajouter un bout de code dans lequel la condition est la suivante:
j'ai un process qui tourne en continue et il me faudrait créer une boucle dans laquelle la condition est qu'il faut attendre que le process s'arrete avant de continuer.
j'ai fait un test qui boucle et ne passe pas a l'étape suivante :
while true
do
AA=`ps -ef|grep 'nom du process'|wc -l`
if [ $AA -eq 0 ]
then
echo "process arreté "
break
else
echo "process en cours"
fi
done
j'ai bien le "process en cours" en continue dans le terminal mais dès lors que je stop le process la boucle ne m'affiche pas "process arreté "
un peu d'aide de votre part ne serait pas de refus
Bien cordialement
Dernière modification par livendirect (Le 21/01/2016, à 18:11)
Newbie mais je progresse grâce a vous ^^
Hors ligne
#2 Le 21/01/2016, à 18:18
- pingouinux
Re : création d'un script avec une condition
Bonjour,
C'est parce que tu récupères aussi la commande grep qui mentionne le nom du process.
Tu peux regarder aussi la commande
pgrep 'nom du process'
Hors ligne
#3 Le 21/01/2016, à 18:20
- carreti
Re : création d'un script avec une condition
Hello,
Ta variable AA n'est jamais 0
ps -ef|grep 'nom du process'
renvoie au minimum la ligne du grep, donc wc -l = 1
si tu veux garder le même test fait [ $AA -eq 1 ] ...
Utilisateur et administrateur de Linux et d'Unix (depuis le siècle dernier) et plus précisément ces dernières années de Linux Gentoo et de Windows 10 ...
Je cherche du boulot sur Paris et RP Ouest en administration système ou mieux dans la tierce maintenance applicative, middleware, base de données, flux ...
Hors ligne
#4 Le 21/01/2016, à 19:45
- livendirect
Re : création d'un script avec une condition
Bonsoir ,
@pingouinux :je vais tester ça avec la commande pgrep
@carreti : je vais essayer avec [ $AA -eq 1 ]
merci de votre aide, je posterai le résultat a la suite ^^
Newbie mais je progresse grâce a vous ^^
Hors ligne
#5 Le 21/01/2016, à 20:16
- k3c
Re : création d'un script avec une condition
pgrep te renvoie le(s) pid(s) du/des process trouvé's), ça peut te simplifier la procédure, exemple
$ ps -ef | grep firefox
gg 26861 2555 5 17:45 ? 00:07:43 /usr/lib/firefox/firefox http://iptraf.seul.org/
gg 27529 21745 0 20:15 pts/28 00:00:00 grep firefox
$ pgrep firefox
26861
$
Dernière modification par k3c (Le 21/01/2016, à 20:34)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#6 Le 21/01/2016, à 20:16
- pingouinux
Re : création d'un script avec une condition
Avec pgrep, tu peux faire ceci par exemple, en faisant un test toutes les 10 secondes :
while true
do
if pgrep 'nom du process' >/dev/null
then
echo "process en cours"
else
echo "process arreté "
break
fi
sleep 10
done
Dernière modification par pingouinux (Le 21/01/2016, à 20:18)
Hors ligne
#7 Le 22/01/2016, à 09:20
- livendirect
Re : création d'un script avec une condition
bonjour a tous,
merci de vos réponses, en effet votre aide m'a été fructueuse car le script adapté au process que je cherche fonctionne.
je vous en suis reconnaissant.
bien cordialement, L&D
Newbie mais je progresse grâce a vous ^^
Hors ligne