Bonjour à tous.
Est-il possible de savoir quand un programme est utilisé ?
Exemple :
1- Je lance firefox
2- Je détecte que firefox vient d'être lancé
3- Je lance la console.
Comment pourrait-on faire pour cette étape 2 ?
Merci du coup de main.
Dest.
Bonjour à tous.
Est-il possible de savoir quand un programme est utilisé ?
Exemple :
1- Je lance firefox
2- Je détecte que firefox vient d'être lancé
3- Je lance la console.
Comment pourrait-on faire pour cette étape 2 ?
Merci du coup de main.
Dest.
Dans un prog qui tourne tout le temps, uu liste les processus en cours via top (en coontinue) ou ps ( photo instantané) et dedans tu recherche s'il a Firefox.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Faire tourner top en permanence risque de manger sérieusement des ressources, non ?
Ce n'est pas top en lui même qui prendrait des ressources mais plutôt la boucle infinie.
tu fais un while(0) avec un timer tu match si le process que tu veux est lancé, si il l'est tu lance ton autre programme...
c est pas trop compliqué a faire
Oui oui bien sûr, c'est pas dur.
Le tiptop ca aurait été de pouvoir récupérer un signal ou un truc dans le genre.
Enfin bref, je ne crois pas avoir le choix, je vais me contenter d'une boucle.
Bonjour,
Une solution plus simple consiste à remplacer l'appel par un script qui effectue ce dont tu as envie avant de faire l'appel.
Exemple :
renommer /bin/firefox en /bin/application_firefox
créer un fichier /bin/firefox contenant :
ATTENTION :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #!/bin/bash date=`/bin/date` echo "lancement de firefox a $DATE" >> /tmp/lancement_firefox /bin/application_firefox
- Modifier le nom d'un binaire n'est pas forcément sans conséquences : des applications peuvent vérifier que le binaire en est bien un, ce qui peut poser de (gros) problèmes
- Ce n'est pas forcément une solution, surtout si le binaire est appelé à être lancé par une application externe.
Partager