Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/08/2012, à 22:26

hugues

Surveiller l'existence d'un processus

Bonsoir,

J'aimerais avoir sur le bureau ou ailleurs, en tout cas dans un endroit rapidement et facilement visible, des informations sur l'existence ou non d'un processus en cours. Je suis sous 12.04 avec Unity.

Je m'explique : j'ai fait un script de surveillance d'apparition de nouveaux fichiers PDF dans un répertoire et d'impression automatique dudit fichier.
J'aimerais savoir à tout moment si le script est lancé, ou pas, sans devoir lancer le moniteur système.

Merci,

--
Hugues

Hors ligne

#2 Le 15/08/2012, à 22:48

toulipe

Re : Surveiller l'existence d'un processus

Avec une notification, par exemple :

if pidof -x monscript.sh
   then notify-send "Le processus est en cours"
   else notify-send "Le processus est stoppé"
fi

Enfin, c'est un peu bête d'écrire un script qui vous apprendrait si oui ou non l'autre est en cours. Le plus simple serait d'ajouter une interface graphique minimale au premier script - qui, bien sûr, n'apparaîtrait pas systématiquement, si c'est ce que vous souhaitez. Voyez ça avec yad ou zenity.

Hors ligne

#3 Le 15/08/2012, à 23:13

hugues

Re : Surveiller l'existence d'un processus

La commande 'notify-send' me semble particulièrement bien adapté et je pense pouvoir l'intégrer directement dans le script initial afin de bien affirmer sa "présence".

Par contre, j'aimerais que la notification soit permanente mais le suffixe '-t' ne semble pas bien fonctionne chez moi. Quelle que soit la valeur que j'utilise, la notification ne s'affiche que quelque secondes.

Merci beaucoup pour votre réponse.

--
Hugues

Hors ligne

#4 Le 15/08/2012, à 23:46

Zakhar

Re : Surveiller l'existence d'un processus

Depuis la 12.04, les paramètres de notification autres que le texte, le titre et l’icône sont totalement ignorés.

Par exemple, il est impossible de rallonger la durée (ça tu l'as bien vu) ni de placer la notification ailleurs, bien que tout cela soit documenté. En fait c'est le système adopté par Ubuntu qui ne tient plus compte de ces paramètres là.

Avec Zenity, on peut afficher un indicateur dans la barre haute. Je ne sais plus comment on fait ça, mais en cherchant un peu dans les documentations vous devriez trouver votre bonheur !


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#5 Le 16/08/2012, à 00:06

toulipe

Re : Surveiller l'existence d'un processus

Si vous voulez vraiment du permanent, il faut afficher une fenêtre, ou, si vous avez une zone de notification, une icone dans la zone de notification. Yad permet de faire ça, et il permet en outre de "rafraîchir" automatiquement soit une zone de texte, soit un tableau, soit une icône dans la zone de notification, en fonction de l'avancement d'un processus.

S'il s'agit seulement de savoir si le processus est en cours, vous pouvez vous contenter, par exemple, d'envoyer une icône dans la zone de notification, et de l'enlever à la fin du script. Si vous voulez, en plus, avoir des informations sur l'avancement du processus, vous pouvez faire en sorte de rediriger vers un fichier temporaire, soit la sortie standard de votre script

monscript.sh >> fichier_temporaire

soit sa sortie d'erreur

monscript.sh 2>> fichier_temporaire

soit les deux

monscript.sh >> fichier_temporaire 2>&1

et indiquer à yad, dans un autre script (ou dans une fonction intégrée dans le premier script, que vous appellerez au moyen d'un paramètre) de lire le fichier :

yad --text-info --tail < fichier_temporaire

. De cette manière, vous pouvez suivre en temps réel l'exécution de votre script, cela dans une boîte de texte qui se met automatiquement à jour dès que de nouvelles informations (celles que vous avez indiquées dans votre script) apparaissent. Et fermer la boîte de dialogue ne dérange pas l'exécution du processus.

Il est aussi possible de faire le même genre de choses avec les icônes de notification, en changeant à la volée le texte de l'infobulle, ou l'image de l'icône, ou le menu déroulant, selon l'état d'avancement de votre script.

Bref, il y a plein de possibilités, cela dépend de ce que vous préférez.

Pour yad, voyez http://code.google.com/p/yad/ et https://launchpad.net/~webupd8team/+arc … pa-manager

Bonne soirée

Hors ligne

#6 Le 16/08/2012, à 00:17

Maisondouf

Re : Surveiller l'existence d'un processus

Zenity ne gère pas les notifications avec Unity
Même le scripte de démo du site Zenity ne marche pas

#!/bin/sh

zenity --notification\
  --window-icon="info" \
  --text="Mise à jour du système nécessaire !"

@toulipe: Je vais de ce pas découvrir 'yad', merci du tuyau


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#7 Le 16/08/2012, à 00:26

Zakhar

Re : Surveiller l'existence d'un processus

Maisondouf a écrit :

Zenity ne gère pas les notifications avec Unity
Même le scripte de démo du site Zenity ne marche pas

Rhaa zut, au temps pour moi, j'en étais resté à la 10.04 où ça fonctionnait parfaitement. wink


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#8 Le 16/08/2012, à 00:31

Maisondouf

Re : Surveiller l'existence d'un processus

@toulipe: à part le traditionnel '--help', il y a de la doc autrement qu'en polonais pour yad ??
j'ai testé le truc de base

yad --text-info "coucou"

J'ai une belle fenêtre avec un bouton OK mais pas le texte...


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#9 Le 16/08/2012, à 00:55

toulipe

Re : Surveiller l'existence d'un processus

La doc, c'est

man yad

et c'est normalement en anglais. Après, je ne sais pas quelle est la version qui a été mise sur le ppa, car je ne l'ai pas utilisé, et ai compilé moi-même le paquet sous Debian. Voir ici pour le télécharger. Il devrait normalement fonctionner sans problème sous Ubuntu, car si l'on en croit l'auteur, gtk est la seule dépendance nécessaire.

Sinon, plutôt que

yad --text-info "coucou"

essayes

yad --text="coucou"

ou encore

echo coucou | yad --text-info

ou encore, pour s'amuser,

for i in $(seq 10) ;  do echo "coucou $i" ; sleep 0.5 ; done | yad --text-info

Hors ligne

#10 Le 16/08/2012, à 00:58

nesthib

Re : Surveiller l'existence d'un processus

tu peux aussi utiliser conky


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#11 Le 16/08/2012, à 01:16

Maisondouf

Re : Surveiller l'existence d'un processus

@toulipe: ça y est, je me suis fais 'coucou' lol
Bien le man (643 lignes), j'approfondirais plus tard.
Merci


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#12 Le 16/08/2012, à 01:44

Maisondouf

Re : Surveiller l'existence d'un processus

Effectivement avec conky, ça marche bien

Pour tester, faire une copie de sauvegarde du fichier /etc/conky/conky.conf et en faire un qui ne contient que cette directive en dessous de la ligne 'TEXT'.

${execi 1 ps -A | grep thunderbird}

Lancer 'conky' dans un terminal et ouvir 'thunderbird' .
Le pid de thunderbird va s'afficher et conky va verifier toutes les secondes.
On ferme thunderbird et la ligne disparait.

Magique, non ???

edit Ça permettra de voir si ça correspond au besoin

Dernière modification par Maisondouf (Le 16/08/2012, à 01:45)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne