Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 03-04-2016 12:21:28

chuugar
Membre
Lieu : Nancy, France
Distrib. : Jessie
Noyau : 4.7.2 (compilé)
(G)UI : Openbox
Inscription : 17-08-2012

Autostart : Lancer proprement un script au démarrage ?

Bonjour tout le monde,

J'ai créé un script qui doit se lancer au démarrage de ma session Openbox.
C'est un petit programme en bash qui me permet d'afficher une barre d'information en haut de l'écran (voir les screenshots).
Il contient 2 boucles while qui sont exécutées en arrière-plan :

while true; do
  xev -root -event property | grep DESKTOP 1&>/dev/null
  DESKTOP=$(xprop -root | grep CURRENT | head -1 | sed -e 's/.*= //')
  echo -e "desktop\t$DESKTOP" >> /tmp/dzen2_events
done &

while true; do
  ip monitor link | grep 'status' 1&>/dev/null
  echo -e "network" >> /tmp/dzen2_events
done &



Le problème est que quand je demande au programme de s'arrêter les 2 sous-processus en question ne se stoppent pas avec !
Je me retrouve donc avec des sous processus "en libertés" pour ip monitor link et xev -root -event property .
J'ai tout d'abord pensé à un problème dans le code en lui même, mais il n'en est rien, puisque quand je lance le script dans un terminal et que je lui demande de s'arrêter, il le fait proprement, sans ces 2 processus.

Le problème est certainement dans l'utilisation de la commande exec (à noter que ça fait la même chose si je remplace exec par bash).
Merci d'avance !

Dans mon fichier autostart ça ressemble à ci-dessous :

(exec ~/documents/gnu/bash/dzen2/dzen2.sh &)



Le script en entier est disponible ici :
https://debian-facile.org/paste-73BA389038

Si quelqu'un a une idée, je suis preneur. big_smile


Vous cherchez une alternative à Google?
Essayez StartPage !

Hors ligne

Pied de page des forums