[C++] application lancée ?
Résolu
Cedric
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à toutes et a tous,
Je me permet de vous solliciter suite à un petit probleme. J'aimerais creer un petit programme en C++ me permettant de verifier si une application X est lancée. Le probleme est que je n'ai trouvé aucune commande en C++ pour le faire ! (je précise que je suis sous linux)
N'ayant trouvé aucune réponse répondant à mon probleme, je me permet de faire appel à votre génie :) !
exemple pour illustrer mes propos :
Si (application X lancée)
{
//instructions
}
Sinon
{
//Instructions
}
Merci d'avance pour vos réponses !
Je me permet de vous solliciter suite à un petit probleme. J'aimerais creer un petit programme en C++ me permettant de verifier si une application X est lancée. Le probleme est que je n'ai trouvé aucune commande en C++ pour le faire ! (je précise que je suis sous linux)
N'ayant trouvé aucune réponse répondant à mon probleme, je me permet de faire appel à votre génie :) !
exemple pour illustrer mes propos :
Si (application X lancée)
{
//instructions
}
Sinon
{
//Instructions
}
Merci d'avance pour vos réponses !
A voir également:
- [C++] application lancée ?
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Desinstaller application windows - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Windows application démarrage - Guide
- Miroir application - Guide
2 réponses
Salut.
il me semble qu'il n'y a aucune fonction C standard à ce sujet, car très peu portable (la manière de faire dépend fortement de l'OS). En revanche, tu as de la chance de faire ça sous Linux. Dans le répertoire /proc, il y a plein de fichiers qui donnent des informations diverses et varier sur le les processus en cour, l'utilisation de la RAM du CPU etc.
Donc, tu ouvre le bon fichier et tu cherche ton application X.
il me semble qu'il n'y a aucune fonction C standard à ce sujet, car très peu portable (la manière de faire dépend fortement de l'OS). En revanche, tu as de la chance de faire ça sous Linux. Dans le répertoire /proc, il y a plein de fichiers qui donnent des informations diverses et varier sur le les processus en cour, l'utilisation de la RAM du CPU etc.
Donc, tu ouvre le bon fichier et tu cherche ton application X.
une piste de recherche, le man de ps
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man1/ps.1.html
si je comprends bien, chaque dossier de /proc ayant pour nom un numéro correspond à un PID. dans chaque dossier il y a plusieurs fichiers dont un qui contient le ligne de commande et donc l'application.
ceci est au final assez complexe à faire.
Tu peux aussi faire un mixe entre shell et C++ grace à la commande system().
exmple qui ne fonctionne pas :
if( system("") ) ...
ne fonctionne pas car APPLIX aparai dans ps du fait du grep, mais il y a une réponse à ce problème sur ce forum (que j'ai oublié)
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man1/ps.1.html
si je comprends bien, chaque dossier de /proc ayant pour nom un numéro correspond à un PID. dans chaque dossier il y a plusieurs fichiers dont un qui contient le ligne de commande et donc l'application.
ceci est au final assez complexe à faire.
Tu peux aussi faire un mixe entre shell et C++ grace à la commande system().
exmple qui ne fonctionne pas :
if( system("") ) ...
ne fonctionne pas car APPLIX aparai dans ps du fait du grep, mais il y a une réponse à ce problème sur ce forum (que j'ai oublié)
Sinon je pense passer par un script shell....
Merci de m'avoir répondu :)