IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[Batch] Empecher L'execution dun programme en cours


Sujet :

Windows

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [Batch] Empecher L'execution dun programme en cours
    Bonjour

    Je cherche a empecher l'execution d'un programme (il sagit dun batch) lorsque celui ci est deja actif.

    Via ce site http://1100f.free.fr/Batchs/, jai pu trouver pas mal de commandes batch mais je ne vois pas comment faire pour empecher lexecution dun programme ou dun thread deja en cours d'execution.

    Cordialement

  2. #2
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Le problème avec les batch, c'est qu'il n'ont pas de nom de processus propre.
    En effet, lorsqu'un fichier batch est exécuté, c'est "cmd.exe" qui l'interprète c'est donc son processus qu'il faut "tuer".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taskkill /F /IM cmd.exe
    Néanmoins, si tu as d'autre batch lancé à ce moment là, ils seront killer aussi.
    Ont peut alors utiliser des filtres, soit sur le path de ton batch soit sur son nom de fenêtre.
    taskkill /? pour plus d'info à ce sujet
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    merci pour ta reponse
    mais le truc cest que je veux pas tuer le processus

    voila ce que je veux :

    si le fichier xxx.bat est execute alors ne rien faire
    sinon lexecuter.

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    le probléme c'est que dans les commande de base il n'y en a pas qui permette de détecter si un script et lancer par son nom, et on ne peut encore moin fermer le fichier xx.bat
    et quand on lance un batch c'est les processus cmd.exe qui tourne le script lui même n'est pas reconnu comme un processus

  5. #5
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Excuse moi je n'avais pas bien compris
    Si c'est un batch, tu peux le modifier non? dans ce cas, rien ne t'empeche d'envoyer un "signal" sous une forme que tu choisiras (multiple et varié) que ton autre programme saura intercepter !
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par sloshy Voir le message
    Bonjour,
    Excuse moi je n'avais pas bien compris
    Si c'est un batch, tu peux le modifier non? dans ce cas, rien ne t'empeche d'envoyer un "signal" sous une forme que tu choisiras (multiple et varié) que ton autre programme saura intercepter !
    comment peut on faire ca ?

  7. #7
    Membre régulier Avatar de jehrikhan
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 89
    Points
    89
    Par défaut
    La façon la plus grossiere serait un fichier dans lequel on va écrire une des valeurs avec le prgramme principal.

    Au lancement des autres batch ils vont lire cette valeur. Si c'est OK le batch continu sinon il se stop de lui meme

  8. #8
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    oui a condition qu'a la fin du batch on supprime la veleur dans le fichier ou on supprime carrement le fichier

  9. #9
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    ca donnerer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off 
    
    
    echo scriptEnCour> "%tmp%\scriprencour.tmp"
    
    if exist "%tmp%\scriprencour.tmp" exit
    
    
    
    :: ton script
    
    
    
    
    del "%tmp%\scriprencour.tmp"
    
    
    pause>nul

  10. #10
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Hello,
    J'avoue c'est bien à ça que je pensais, mais l'idée du signal t'aurais sans doute plus inspiré :-)
    A vrai dire, c'est assez tendu, il faut tenir compte du fait que le fichier peut être modifier, supprimé ect bref c'est loin d'être une solution de production (mais en même temps, utilise-t-on du batch en production? )
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  11. #11
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    la comme j'ai fait si le contenu du fichier n'est pas le même ce ne changera rien, c'est le nom du fichier que je test


    EDITE:
    quoi que la je créer le fichier dans le rempertoire temporaire de windows, si quelqu'un vide le répertoire sa induira en erreur, donc il faut changer l'empplacement du fichier tmp

  12. #12
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    j'ai bien vu, mais rien n'empêche le fichier de ne pas avoir pu être crée, d'avoir été supprimé pour x raison annexe.
    je veux dire que c'est du hack (comprendre de la bidouille) c'est pas exploitable en tant que tel.
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  13. #13
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par sloshy Voir le message
    d'avoir été supprimé pour x raison annexe.
    .
    j'ai editer mon précédent message


    tu pensse que ton idée de signale serai plu approprié, dit m'en un peut plus je ne voi pas comment faire

  14. #14
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    a la rigeure on pourai créer une clé dans le registre

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/04/2008, 13h17
  2. Arreter Un Programme En Cours D'execution
    Par chakcc dans le forum Visual C++
    Réponses: 4
    Dernier message: 26/10/2006, 15h00
  3. Lister les programmes en cours d'execution
    Par jejerome dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 07/04/2006, 16h05
  4. [NetBeans] Arreter un programme en cours d'execution
    Par vallica dans le forum NetBeans
    Réponses: 3
    Dernier message: 08/12/2005, 12h24
  5. Ecraser un programme en cours d'execution
    Par Shiva dans le forum Langage
    Réponses: 12
    Dernier message: 05/10/2005, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo