#26 Le 25/09/2012, à 22:08
- Sylvain_07
Re : [résolut]script démmarrage de conky
Bonjour,
je continue sur ce sujet car c'est la suite :
le script initial fonctionne mais au bout d'une dizaine d eminute aprés le démmarrage du PC en cause une partie de mon conkyrc qui ne doit pas être géniale ( le morceau conky HTC)
donc j'ai décidé de coupé mon conky en 2 pour faire 2 conky : celui qui marche bien et celui qui marche moins bien.
donc dans le script il faudrais que je teste le nombre de processus conky lancé ( 0 ou 1 ou 2 (+de 1))
mais la commande pgrep conky sort les Ne de processus conky en route
moi il me faut la commande qui sort le nombre de processus conky en route
pour ensuite le tester
PC1 :UBUNTU12.04 LTS 64 -VIEWSONIC VX2835WM 28" 1920*1200-MSI P31 Néo-F + 4GO DDR2 corsair-core - QUAD Q6600 -MSI GeF N550GTX-1GO -2 x SEAGATE / MAXTOR DiamondMax 22 - 500 Go -32 Mo- 7200 tr/min - SATA II + 1 de 200 Go
PC2 : UBUNTU12.04 LTS 64- MSI K9MM-V- 2Go DDR2 Corsair- ATHLON 64 X2 5600+-NVIDIA GeF 7600 GS (512 Mo)- 2 maxtor SATA 200 Go- AOC Spectrum 17" 1152*864@75Hz.
Hors ligne
#27 Le 25/09/2012, à 23:10
- Postmortem
Re : [résolut]script démmarrage de conky
Salut,
Pour compter les processus :
pgrep conky | wc -l
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#28 Le 26/09/2012, à 00:45
- Sylvain_07
Re : [résolut]script démmarrage de conky
Merci de ta réponse,
j'ai essayer :
pgrep -c conky
les 2 semblent renvoyer le bon nombre
mais dans les 2 cas je n'arrive pas à l'exploiter
#! /bin/bash
exec > /tmp/lancement_conky.log 2>&1
while :
do
if ($(pgrep conky | wc -l)>1)
then
echo "conky déjà lancé"
break
else
killall conky
echo "lancement de conky"
conky -c $HOME/.conky1rc &
conky -c $HOME/.conky2rc &
sleep 120
fi
done
réponse du fichier tmp
/home/sylvain-sa/.cw_Mstart.sh: ligne 8: 2 : commande introuvable
lancement de conky
2 étant bien le nombre de conky en route au momment du lancement du script : le script devrait s'arrêter.
je n'arrive pas a récupérer et exploiter ce 2 : j'ai essayer différente méthode : mêtre dans une variable, mais je me retrouve toujours avec cette erreur en ligne 8
PC1 :UBUNTU12.04 LTS 64 -VIEWSONIC VX2835WM 28" 1920*1200-MSI P31 Néo-F + 4GO DDR2 corsair-core - QUAD Q6600 -MSI GeF N550GTX-1GO -2 x SEAGATE / MAXTOR DiamondMax 22 - 500 Go -32 Mo- 7200 tr/min - SATA II + 1 de 200 Go
PC2 : UBUNTU12.04 LTS 64- MSI K9MM-V- 2Go DDR2 Corsair- ATHLON 64 X2 5600+-NVIDIA GeF 7600 GS (512 Mo)- 2 maxtor SATA 200 Go- AOC Spectrum 17" 1152*864@75Hz.
Hors ligne
#29 Le 26/09/2012, à 01:26
- Postmortem
Re : [résolut]script démmarrage de conky
La page de man que j'ai lue ne parlait pas de l'option -c mais si elle existe, mieux vaut l'utiliser plutôt que de faire comme je t'avais proposé.
Pour récupérer la valeur dans une variable :
nb_process=$(pgrep -c conky)
Pour tester ensuite :
if (( nb_process > 1 )) # entre les doubles-parenthèses, on est pas obligé de mettre le $ pour simplement appeler une variable.
# Ou directement, sans passer par une variable :
if (( $(pgrep -c conky) > 1 ))
Dernière modification par Postmortem (Le 26/09/2012, à 01:28)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#30 Le 26/09/2012, à 12:37
- Sylvain_07
Re : [résolut]script démmarrage de conky
merci,
J'y crois pas , je n'ai pas du essayer de l'écrire comme toi : j'y ai tourné autour du pot toute la soirée hier soir.
je pense que mon erreur est due au fait que je ne metait pas d'espace entre la variable, le test > et le nombre a tester.
ça marche
voici mon code :
#! /bin/bash
exec > /tmp/lancement_conky.log 2>&1
while :
do
if (( $(pgrep -c conky) > 1 ))
then
echo "conky déjà lancé"
break
else
killall conky
echo "lancement de conky"
conky -c $HOME/.conky1rc &
conky -c $HOME/.conky2rc &
sleep 120
fi
done
PS : pour ce qui est de l'option -c
voici ce que dit le manuel dans un terminal
man pgreg
OPTIONS
-c Suppress normal output; instead print a count of matching pro‐
cesses.
j'ai trouvé cette option en recherchant des exemples de scripts qui comptaient les processus.
merci
PC1 :UBUNTU12.04 LTS 64 -VIEWSONIC VX2835WM 28" 1920*1200-MSI P31 Néo-F + 4GO DDR2 corsair-core - QUAD Q6600 -MSI GeF N550GTX-1GO -2 x SEAGATE / MAXTOR DiamondMax 22 - 500 Go -32 Mo- 7200 tr/min - SATA II + 1 de 200 Go
PC2 : UBUNTU12.04 LTS 64- MSI K9MM-V- 2Go DDR2 Corsair- ATHLON 64 X2 5600+-NVIDIA GeF 7600 GS (512 Mo)- 2 maxtor SATA 200 Go- AOC Spectrum 17" 1152*864@75Hz.
Hors ligne