119 votes

Comment trouver les arguments de la ligne de commande d'un programme en cours d'exécution ?

Je cherche un outil ou une méthode pour savoir quels paramètres de ligne de commande ont été passés à un programme, par exemple lorsqu'il a été lancé par un autre programme (scénario lanceur-application).

115voto

Atalius Points 1125

Vous pouvez également le faire sans Process Explorer, en utilisant le service WMI de Windows. Exécutez la commande suivante à partir de l'invite de commande :

WMIC path win32_process get Caption,Processid,Commandline

Si vous voulez transférer la sortie dans un fichier (ce qui la rend un peu plus facile à lire), utilisez le commutateur /OUTPUT :

WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline

89voto

diegogs Points 624

Vous pouvez le faire en utilisant Explorateur de processus .

Il suffit de passer la souris sur un processus pour voir les arguments de ligne de commande utilisés pour le démarrer :
List of "chrome.exe" processes

Alternativement, vous pouvez ouvrir le propriétés du processus et inspecter la ligne de commande juste là :
Properties of a "chrome.exe" process

59voto

Jeromy Adofo Points 691

On peut également y parvenir en utilisant Gestionnaire des tâches .

Ouvrez le gestionnaire des tâches (par CTRL-SHIFT-ESC, CTRL-ALT-DELETE ou toute autre méthode).

Pour Windows 7 (et probablement Windows XP) :

  • Allez dans l'onglet "Processus". Dans le menu "View", sélectionnez "Select Columns...".
  • Cochez la case "Ligne de commande" et cliquez sur OK. (Vous devrez peut-être faire défiler la page pour la trouver)

Pour Windows 8 :

  • Allez dans l'onglet "Détails". Cliquez avec le bouton droit de la souris sur l'une des colonnes (par exemple, Noms, PID, etc.) et sélectionnez "Sélectionner les colonnes".
  • Cochez la case de "Ligne de commande" et cliquez sur OK. (Vous devrez peut-être faire défiler la page pour la trouver)

Une colonne de lignes de commande de sera ajoutée aux colonnes actuellement affichées.

11voto

Dave Horner Points 243

PowerShell à la rescousse.

Trouvez :

Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'}

Et tuer en prime :

Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'} | ForEach-Object { Invoke-WmiMethod -Path $_.__Path –Name Terminate }

Vous pouvez l'exécuter depuis powershell directement ou depuis un ps1 si vous avez configuré votre système. Je détaille la configuration sans restriction de script sur je tue des zombies avec powershell ainsi que d'autres astuces powershell...

6voto

Sil Points 161

Les réponses précédentes sont excellentes dans le cas où le processus est déjà en cours et ne va pas s'arrêter de sitôt. Cependant, si vous avez besoin (comme je l'ai fait) de faire cela peut-être avec des processus qui démarrent plusieurs fois et/ou se terminent rapidement, ou peut-être de consigner les occurrences dans une période de temps plus longue, il y a un moyen de le faire en utilisant Moniteur de processus .

Dans ce cas, nous pouvons simplement filtrer l'événement "Process Start" et le nom du processus que nous voulons surveiller, comme indiqué ci-dessous :

enter image description here

Ensuite, gardez le moniteur de processus en marche et faites tout ce que vous pouvez pour que le processus que vous voulez enregistrer soit en marche. Vous pouvez voir dans la colonne "Detail" ou dans la colonne "Command line" (selon la façon dont vous les configurez) les arguments de la ligne de commande. Par exemple :

enter image description here

Bien sûr, de cette façon, vous pouvez extraire beaucoup plus d'informations connexes telles que le répertoire de travail, les variables d'environnement qui ont été passées au processus, etc... Il est également facile d'exporter les résultats dans un fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X