Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1320 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Extraire et renvoyer et la liste des process > compteur ou un log

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Extraire et renvoyer et la liste des process > compteur ou un log

n°1004438
pierrero
Posté le 08-03-2005 à 09:54:44  profilanswer
 

Salut à tous,
 
J'ai aussi posté dans la rubrique Perl et je m'en excuse d'avance. :o
 
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 :
 

  • Si une appli démarre sur un poste > un signal rajoute 1 au nb de licences actuellement utilisées
  • Si une appli est fermée > un signal décrémente de 1 le nb de licences utilisée
  • Si un client interrogé ne répond plus ou que la liste de ses process ne contient plus l'appli > on décrémente de 1 aussi.


Pourriez-vous m'aider à commencer à coder tout çà.
 
Merci d'avance.
 
Pierrero.  :hello:  


Message édité par pierrero le 08-03-2005 à 10:59:48
mood
Publicité
Posté le 08-03-2005 à 09:54:44  profilanswer
 

n°1004453
Taz
bisounours-codeur
Posté le 08-03-2005 à 10:04:07  profilanswer
 

ben c'est bête et méchant, t'as juste à surveiller la liste de tous les processus et compter. C'est stupide, inefficace, mais ça fonctionne. Si ton nombre d'appli est bien défini, tu peux empaqueté chaque appli dans un script, le script envoyant un paquet udp au lancement de l'appli et un autre à la fermeture. Ou bien, tu lui fais envoyer un paquet UDP toutes les minutes.  Ça me parait simple à implémenter et très économe en ressource (réseau et CPU). C'est ce que je ferais.

n°1004463
pierrero
Posté le 08-03-2005 à 10:11:31  profilanswer
 

Taz a écrit :

tu peux empaqueté chaque appli dans un script, le script envoyant un paquet udp au lancement de l'appli et un autre à la fermeture. Ou bien, tu lui fais envoyer un paquet UDP toutes les minutes.  Ça me parait simple à implémenter et très économe en ressource (réseau et CPU). C'est ce que je ferais.


 
OK c'est cool ! çà avance ! :pt1cable:  
 
Tu m'expliques comment coder l'envoi de ce "paquet UDP" sur une machine du réseau stp ? :??:

n°1004474
Taz
bisounours-codeur
Posté le 08-03-2005 à 10:17:49  profilanswer
 

pydoc socket

n°1004554
benou
Posté le 08-03-2005 à 10:53:01  profilanswer
 

pierrero a écrit :

J'ai aussi posté dans la rubrique Perl et je m'en excuse d'avance. :o


t'as pas à t'en excuser, t'as juste à pas le faire ...
 
je close l'autre topic.
 
remarque : c'est pas une bonne idée de laisser ton adresse mail : elle risque de se retrouver rapidement dans les listes des spammers


---------------
ma vie, mon oeuvre - HomePlayer
n°1004580
pierrero
Posté le 08-03-2005 à 11:03:42  profilanswer
 

J'ai fait quelque recherche sur gogole concernant "pydoc socket" et çà m'a l'air intéressant. Je continue à mettre mes avancées sur le problème pour que çà puisse aider d'autres pers.
 
Merci Taz

n°1004588
Taz
bisounours-codeur
Posté le 08-03-2005 à 11:06:03  profilanswer
 

mais pas dans google triste sire

n°1004610
pierrero
Posté le 08-03-2005 à 11:16:06  profilanswer
 

Taz a écrit :

mais pas dans google triste sire


 
Euh oui je crois que tu n'as pas idée de mon niveau :(
 
Me mettre maintenant au développement, c'est comme de me mettre sur un vélo trop grand pour moi alors que j'en avais fait que gosse et avec des roulettes.
Là c'est google mes roulettes et depuis 2 jours c'est vous :love:
 
Je me mets à Python du coup. Si çà permet vraiment de scripter comme ou mieux que perl çà sera pas du temps de perdu.
 
J'ai déjà eu de bonnes pistes ici pour m'y mettre. Merci :)
 
Et euh, ah oui:  
Dsl pour le double post Perl+Python ! Je n'était pas sûr de savoir vers quel langage m'orienter.
Mille excuses :jap:
 
Pierrero


Message édité par pierrero le 08-03-2005 à 11:18:04
n°1004616
Taz
bisounours-codeur
Posté le 08-03-2005 à 11:20:47  profilanswer
 

python ça marche très bien. Dans le cadre professionel, j'ai déjà fait quelque chose comme ça. Il s'agissait de monitorer plusieurs dizaines de machines. Le client en C ultra-léger envoie toutes les minutes des informations systèmes (charge utile 40octets). Le serveur python réceptionne tout ça. Ça tournait super bien. Le client C était minimal et incassable, le serveur python robuste (gaffe aux paquets UDP  avec une charge utile mal formée, ça peut arrivé surtout si tu as plusieurs versions de ton client). Le serveur archive en même temps dans une base de données en asynchrone. Ç'est faisable et ça prend très peu de lignes. Maintenant si c'est pas ton métier, et bien embauche quelqu'un. Sinon rame.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Extraire et renvoyer et la liste des process > compteur ou un log

 

Sujets relatifs
Extraire et renvoyer et la liste des process > compteur ou un log[J2ME] Besoin d'aide pour une Liste ????
Afficher des liste en 2 colonnes c possible ???Faire une liste de liens
liste déroulant 
Plus de sujets relatifs à : Extraire et renvoyer et la liste des process > compteur ou un log


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR