Extraire et renvoyer et la liste des process > compteur ou un log - Perl - Programmation
Marsh Posté le 08-03-2005 à 10:19:27
Salut,
Compteur ou log ? Tout dépend de tes besoins
Personnellement je te conseillerais un log -> tu traces tout ce qui se passe, et tu analyses "off-line" en consolidant les données de toutes les machines
Par contre analyser les process me semble casse-cou, car tu devras boucler pour regarder les process à intervalles réguliers, mais qui te dit qu'un utilisateur n'ait pas lancé une appli Adobe, puis l'a fermé entre temps ?
Nota : quand tu fais un "ps" il faut enlever le process "grep" associé
Exemple sous unix : "ps -ef | grep Adobe | grep -v grep"
Le mieux est de faire sous Perl :
Code :
|
tu obtiendras une liste des process contenant le mot-clé Adobe
Marsh Posté le 08-03-2005 à 10:52:13
suite là : http://forum.hardware.fr/forum2.ph [...] 0&subcat=0
Marsh Posté le 08-03-2005 à 09:16:54
Salut à tous,
J'ai besoin pour le taf de comptabiliser les logiciels Adobe en cours d'utilisation sur l'ensemble du parc Mac & Windaube. Nous avons un nombre de licences flottantes à ne pas dépasser. Les licences flottantes permettent d'installer une appli sur toutes les machines et de n'acheter que quelques licences seulement.
Il ne faut pas que le nb max d'utilisateurs simultanés d'une appli dépace le nb de licences acquises.
Voilà il me faut donc juste le pic maximum d'utilisations simultanées pour Photoshop, Illustrator, Acrobat ... pour pouvoir réévaluer le nombre de licences flottantes à acheter.
Le script sur les clients doit donc, remonter un signal sur une machine du réseau à chaque fois que l'utilisateur lance une des application Adobe sous licence flottante.
On incrémente un compteur (à chaque appli son compteur) et on le décrémente lorsque le logiciel a été quitté.
On peut aussi mettre un timeout qui retire 1 si le poste client n'a pas envoyé de signal "appli ouverte" depuis 5 min par exemple, ou que le logiciel a été fermé.
ou faire l'inverse (ce qui est mieux à mon avis): aller re-interroger les postes qui ont envoyé un signal 'Appli AdobeTruc ouverte' pour vérifier que l'appli est toujours ouverte. (vérif. toutes les 5 mins par ex)
Qu'est ce que sera le mieux selon vous ?
RAPPEL:
Il me faudra faire 2 fonctions séparées (une pour Windows et une pour Unix (enfin MacOS).
J'ai vu que sous Unix (MacOS) on peut utiliser la commande `ps -x | grep Adobe` qui me liste tous les process en cours dont le titre contient Adobe. Je peux donc me servir de cette commande pour extraire l'Heure et le nom de l'appli.
[postemac:~] user% ps -x | grep Adobe
415 ?? S 0:14.41 /Volumes/Applications/dossier Appli OS X /Adobe Photoshop 7/Adobe Photoshop 7.0/Contents/MacOS/Adobe Photos
474 std R+ 0:00.00 grep Adobe
et pour les Windows, j'ai appris que sous python on peux utiliser çà pour récupérer les process:
import win32api, win32con, win32process
processes = win32process.EnumProcesses() # get PID list
Je reformule mon besoin :
Pourriez-vous m'aider à commencer à coder tout çà.
Merci d'avance.
Pierrero.
Message édité par Marc le 06-02-2006 à 23:18:27