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

Scripts/Batch Discussion :

Killer un processus à partir de son répertoire d'installation [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Killer un processus à partir de son répertoire d'installation
    Bonjour,

    dans le cadre de mon travail, je dois réaliser un script powershell mais je bloque sur une action en particulier.
    Est-il possible de fermer un processus à partir de son chemin d'exécution?
    je m'explique:

    Tout d'abord, mon script utilise la commande ci-dessous "start-process" pour lancer un exécutable.
    Start-Process -FilePath "chemin et nom de l’exécutable" -ArgumentList "$arg"

    si le process dépasse X minutes, le processus doit-être fermé.
    J'ai d'abord pensé utiliser la commande "stop-process", mais visiblement on ne peut pas renseigner le chemin de l’exécutable en tant que paramètre.
    Seuls les paramètres "nom de l'executable" ou "PID du processus" semblent être reconnu par la commande "stop-process".

    MAIS, j'ai une contrainte qui m'oblige a fermer le processus avec son PID ou son chemin.

    Contrainte: mon exécutable est lancé depuis des répertoires différents sur une même machine, avec le même nom d'exe.
    Dans mon cas, je souhaite ne fermer que le processus que j'ai lancé précédemment avec le chemin en paramètre.

    comment récupérer le PID de l’exécutable lancé précédemment sachant que plusieurs processus avec le même nom sont déjà en cours d’exécution?

    J'accepte toutes les solutions

    Merci par avance pour votre aide,
    Matthieu

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par matt1008 Voir le message
    .
    comment récupérer le PID de l’exécutable lancé précédemment sachant que plusieurs processus avec le même nom sont déjà en cours d’exécution?
    Lire la doc du cmdlet
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $p=start-process notepad -PassThru
    $p|gm
    Puis celle de la classe :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $p.gettype()
    $p.WaitForExit( X * 1000)

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Salut,

    Lire la doc du cmdlet
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $p=start-process notepad -PassThru
    $p|gm
    Puis celle de la classe :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $p.gettype()
    $p.WaitForExit( X * 1000)

    Bonjour,

    Merci pour ton aide Laurent.
    J'ai utilisé une partie de ta solution pour obtenir le code ci-dessous.

    $timeOut=10
    $p=Start-Process -FilePath "$program" -ArgumentList "$arg" -passthru
    if ( ! $p.WaitForExit($timeOut*1000) )
    { echo "L'opération s'est plantée"; $p.kill() }
    ELSE
    { echo "L'opération s'est correctement déroulée"}


    ça répond à mon besoin!
    Sujet résolu .

    Matthieu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver son chemin dans un labyrinthe
    Par APoLLoN1234 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 03/11/2005, 22h34
  2. Autorisations pour "killer" certains processus
    Par DeusXL dans le forum MFC
    Réponses: 2
    Dernier message: 27/06/2005, 21h30
  3. Ouvrir un dossier à partir de son chemin
    Par Mr.Gus dans le forum Access
    Réponses: 2
    Dernier message: 13/06/2005, 13h59
  4. [VB.NET] Killer un processus
    Par spikelille dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/07/2004, 19h23
  5. [SERVLET] retrouver son chemin
    Par sebos63 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/09/2003, 08h59

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