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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Obtenir un PID

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Obtenir un PID

n°1156757
esox_ch
Posté le 22-07-2005 à 08:25:00  profilanswer
 

Bonjour,
 
J'aurais besoin d'obtenir le PID d'un processus particulier que je lance avec un bat, j'ai pensé a faire un tslist avant et apres et a faire la difference entre les 2  = le PID en question ... le problème est que je m'y connais tres mal (pour dire pas du tout) en batch ... J'ai quelques notions de Shell linux ... mais sinon c'est que du Java & co :D... Donc je me trouve assez vite coincé ... est-ce que qqn a plus simple que ma petite magouille?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 22-07-2005 à 08:25:00  profilanswer
 

n°1156864
wackevat
Posté le 22-07-2005 à 10:25:45  profilanswer
 

T'es sous quel OS ?

n°1156882
esox_ch
Posté le 22-07-2005 à 10:36:27  profilanswer
 

WinXP ...  
Enfait pour le moment en parsant un peu j'arrive a tomber sur :
 
PID: monpid et là j'essaie de parser ça avec un for pour que ca me choppe que le monpid ... mais ça marche pas encore top :p


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1156891
wackevat
Posté le 22-07-2005 à 10:40:55  profilanswer
 

Poste ton code. On va voir si on peut t'aider à corriger/améliorer.

n°1156898
jlighty
Posté le 22-07-2005 à 10:47:10  profilanswer
 

Sinon tu peux utiliser le Perl (active Perl + module Win32) pour récupérer ton PID.

n°1156916
esox_ch
Posté le 22-07-2005 à 11:02:23  profilanswer
 

J'avais pensé a utiliser Perl / VB mais le truc c'est que ce batch doit etre utilisé par un bon nombre de personnes, qui n'ont pas forcemment Perl/VB/autre installé ...  
Pour le moment j'en suis la :  
 

Code :
  1. @echo off
  2. set a =  tasklist /FI "IMAGENAME eq processus.exe" /FO list | FIND "PID"
  3. set ps1 =
  4. set ps2 =
  5. set pst =
  6. set out =
  7. FOR /F %i IN %a% DO (
  8. IF NOT(%i == PID:)
  9.   %ps1% =%ps1% %i
  10. )
  11. .... lancement du processus ...
  12. %a% = tasklist /FI "IMAGENAME eq processus.exe" /FO list | FIND "PID"
  13. FOR /F %i IN %a% DO (
  14. IF NOT(%i == PID:)
  15.   %ps2% =%ps2% %i
  16. )
  17. %out% = fc ps1 ps2
  18. FOR /F %i IN %out% DO (
  19. IF NOT(%i == Comparing)
  20. %pst% = %pst% %i
  21. )
  22. echo %pst%


Désolé pour le massacre, c'est la 1ere fois que je touche a du batch ... :(


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1156944
wackevat
Posté le 22-07-2005 à 11:15:42  profilanswer
 

Ca se voit :)
 
Tu dois avoir plein d'erreurs aussi.
 
C'est quoi le output déjà et qu'en penses-tu des erreurs que tu reçois ?


Message édité par wackevat le 22-07-2005 à 11:15:56
n°1156950
esox_ch
Posté le 22-07-2005 à 11:18:09  profilanswer
 

Donc l'erreur que je recois me dit que je sais pas utiliser le for ... apperemment il aime pas ce qu'il y a avant le DO ..  
L'output serai un String sur plusieurs lignes je suppose ...
 
Je vois pas trop ou tu veux que j'en vienne ;)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1156985
wackevat
Posté le 22-07-2005 à 11:46:03  profilanswer
 

Pour le moment tu ne connais pas encore la syntaxe des commandes.
 
Alors :
- commenter la première ligne (@echo off) pour voir à quelle ligne tu rencontres la première erreur.
 
- for /?; set /?; if /? enfin nom_de_commande /? pour apprendre la syntaxe.
 
Parce que comme ça, ça ne va pas marcher du tout.

n°1157021
esox_ch
Posté le 22-07-2005 à 12:07:44  profilanswer
 

Moui j'esperais de ne pas devoir lire completement la longue doc de Find (que je trouve encore plus trouble qu'un man :D) mais bon ... fallait quand meme que je m'y attende ;)
 
 Je te tiens informé de mes recherches eventuelles ;)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 22-07-2005 à 12:07:44  profilanswer
 

n°1157030
wackevat
Posté le 22-07-2005 à 12:12:14  profilanswer
 

oki, @+

n°1157293
Sm@No
Posté le 22-07-2005 à 15:19:34  profilanswer
 

Il est pas mal power Batch et sinon ben je vais test de le faire car c'est interessant de pouvoir retrouver le PID.
Donc apparement tu est sous XP mais un truc:
Pourkoi tu veut le recup le PID car si c'est pour le KILL tskill le nom du process marche.
Sinon le but est de le mettre dans un fichier et de le retrouver avec son nom:
Du style tasklist /svc>temp.txt
et aprés avec une boucle for in (temp.txt) findstr le truc en gros.
Sinon y a POWERBATCh qui a pas mal d'aide pour la creation de batch!!
Sinon je vais essailler de le faire si tu trouve pas entre temp.
Le premier ki trouve a gagné!!!

n°1157430
esox_ch
Posté le 22-07-2005 à 16:43:33  profilanswer
 

Oui c'est pour le killer, mais le probleme est que plusieurs instances du meme processus existent et qu'une seule d'entre-elles doit etre detruite ;).  
Je verrai ça des que j'ai un moment la semaine prochaine ... parceque c'est au boulot que j'ai XP..a ++


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1158893
Sm@No
Posté le 25-07-2005 à 11:41:57  profilanswer
 

Si elle ont le mm nom sa va etre dure!!!
C'est koi la tache que tu veut kill?
C'est koi ce processus!
C'est pas sur un serveur?
J'ai pas eu le temp de test un script mais je regarde se midi!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Obtenir un PID

 

Sujets relatifs
[SOLUTION] pour obtenir le nom de session (username) depuis phprécupérer le PID d'un processus
[Java] Obtenir la liste des sessions d'un serveur J2EE[JAVA]Obtenir un sous arbre
Obtenir une couleur complementaireOpenGL: obtenir les coordonnées réelles
obtenir mon adresse IP en Perl[Résolu] Comment obtenir le résultat -opposé- d'un SELECT ?
[C++] Comment obtenir la date systeme en string ?Obtenir le script d'une animation faite avec Flash en mode graphique
Plus de sujets relatifs à : Obtenir un PID


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