回答:
Process Explorerを使用してそれを行うことができます。
マウスをプロセスの上に置くと、プロセスの起動に使用されるコマンドライン引数が表示されます。
または、プロセスのプロパティを開いて、コマンドラインをすぐに調べることもできます。
WindowsのWMIサービスを使用して、Process Explorerなしでも実行できます。コマンドプロンプトから次を実行します。
WMIC path win32_process get Caption,Processid,Commandline
出力をファイルにダンプする(読みやすくする)場合は、/ OUTPUTスイッチを使用します。
WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline
また、タスクマネージャを使用してこれを実現することもできます。
タスクマネージャーを開きます(CTRL-SHIFT-ESC、CTRL-ALT-DELETEまたはその他の方法)。
Windows 7(およびおそらくWindows XP)の場合:
Windows 8の場合:
コマンドラインの列が、現在表示されている列に追加されます。
PowerShellが助けになります。
見つける:
Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'}
ボーナスとして殺す:
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 }
powershellから直接実行することも、システムのセットアップがある場合はps1から実行することもできます。私はPowershellでゾンビを殺すための無制限のスクリプトセットアップと他のPowerShellトリックを詳述しています...
以前の回答は、プロセスが既に実行されていて、すぐに終了しない場合に役立ちます。ただし、プロセスを複数回起動したり、すぐに終了したり、より長い期間で発生をログに記録したりする必要がある場合は、Process Monitorを使用する方法があります。
基本的に、システム内のさまざまなイベントを記録します。この場合、以下に示すように、「プロセス開始」イベントと監視するプロセスの名前をフィルタリングするだけです。
次に、プロセスモニタを実行したままにして、実行したいプロセスを取得するために何でもします。[詳細]列または[コマンドライン]列(これらの設定方法によって異なります)でコマンドライン引数を確認できます。例えば:
もちろん、この方法で、作業ディレクトリとは何か、プロセスに渡された環境変数など、はるかに関連する情報を抽出できます。また、結果をファイルにエクスポートするのも簡単です。
CygWinを使用しているときにPythonプロセスを開始すると、これはコマンドラインの例です。
c:\CygWin\bin\python2.7.exe /usr/local/bin/sudoserver.py
ただし、Process Explorerにはメインexeのみが表示されます。
(「パス:[プロセスオープンメッセージのエラー]」に注意してください(EDIT-1を参照)。同じ結果tasklist
:
C:\>tasklist | find "python" /i
python2.7.exe 5740 Console 1 15.312 KB
だから、私が今まで知っている唯一のトリックは、CygWin Bashシェルを 介してそれを見つけることpgrep
です:
Luis@Kenobi /cygdrive/c/
$ pgrep -f -l server.py
5740 /usr/bin/python2.7 /usr/local/bin/sudoserver.py
CygWinがWindowsで問題なく共存し、多くのPOSIXおよびPythonプログラムを実行するために使用できる限り、これを知っておくと便利です。
編集:Windowsでは、タスクリストの管理者権限は必要ないようです。(:完全なコマンドラインを持っている可能性が私には複数の論理思えるCygWinのでは、あなたは彼らが管理者のプロセスを表示することができるようにする必要がありますパスワードのようないくつかのパラメータの内部を)ので、我々は実行する必要がありますCygWinのでバッシュを高架 管理者モード。
EDIT-1:管理者としてProcess Explorerを実行する場合、この問題は発生しません。指摘してくれてありがとう、@ Pacerier。
[Error opening process message]