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 24/03/2015, à 20:10

zodd

Auto killer une application

Bonjour,

Je développe une application en Qt sur Ubuntu 12.04 (avec openBox comme gestionnaire de fenêtre pour avoir un mode "kiosque"; donc qui se lance tout seul, sans bordure de fenêtre, etc,  car c'est pour un panel PC tactile).

Je voudrais pouvoir faire redémarrer l'application à l'aide d'un bouton sur mon interface.

Pour cela, j'ai une fonction (SLOT) appelée et qui lance un script comme ceci:
system("./resetmonApplication.sh");

et dans lequel j'ai les lignes suivantes:


#!/bin/sh
pkill -9 monApplication
./monApplication
exit 0

ce script marche très bien si l'application a été lancé "manuellement" (depuis une console par exemple avec la commande ./monApplication en étant dans le bon répertoire évidement).

Or mon application n'est pas démarrée "manuellement" mais par le script autostart de openbox:
/home/user/.config/openbox/autostart

ce fichier contient donc cette ligne:
/home/user/soft/monApplication &


et donc si mon application a été de cette manière, mon script ne marche pas..

Si je modifie mon script comme ceci:

#!/bin/sh
pgrep monAppliction >> fichierlog 2>&1
pkill -9 monApplication
./monApplication
exit 0

rien n'est loggué lorsque l'application démarre par l'autostart.  Mais si je la démarre manuellement et clique sur mon bouton, le numéro du process est bien logué...

Quelqu'un saurait expliquer ce fonctionnement et comment faire fonctionner mon script?
(je précise que si je lance mon script manuellement depuis une console (dans un autre bureau d'openbox) et non pas en cliquant sur le bouton, celui-ci fonctionne aussi parfaitement (il kill mon application et la relance comme il faut) même si elle a été démarrée par l'autostart..

Dernière modification par zodd (Le 24/03/2015, à 20:12)

Hors ligne

#2 Le 29/03/2015, à 10:03

tiramiseb

Re : Auto killer une application

Salut,

L'exécution de ce script ne se fait probablement simplement pas dans le bon répertoire.

Mets un "cd /home/user/soft" au début de ton script, ça pourrait résoudre le problème.

Hors ligne