CMD에서 httpd.exe의 위치 가져 오기


0

Windows 시스템에서 Apache를 httpd.exe시작하면 프로세스가 시작됩니다.
이제이 httpd.exe명령을 사용하여 프로세스가 실행 중인지 여부를 확인할 수 있습니다 .

query process httpd.exe

이것은 다음과 같은 것을 반환합니다 :

 USERNAME        SESSIONNAME      ID    PID    IMAGE
 >system         services         0    3340   httpd.exe
 >system         services         0    4720   httpd.exe

이제 httpd.execmd에서 windows 명령을 사용하여 의 위치를 ​​얻을 수 있습니까?
명령은이 위치 ( httpd.exe)를 반환해야합니다 .

E:\Installed Softwares\wamp\bin\apache\apache2.4.9\bin\httpd.exe

TASKLIST 명령을 사용하여 실행중인 프로세스 목록을 얻을 수 있습니다. 프로세스 위치를 찾기 위해 프로세스 탐색기를 사용할 수 있습니다.
vembutech

고마워,하지만 내가 찾는 것이 아닙니다
rakibtg

답변:


1

나는 당신을 얻을 것을 잘 모르겠지만, 당신이 파일을 찾으려면 CMD 당신이 사용할 수있는 COMAND는 (그것은 단지 경로 현재 디렉토리와에서 검색) 그러나 당신은 몇 가지 매개 변수를 넣을 수 있습니다. 예를 들어 java.exe를 검색하면

Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>where java.exe
C:\Windows\System32\java.exe
C:\Program Files\Java\jdk1.6.0_26\bin\java.exe

편집 : 재귀 검색을 시도하면 위치가 표시되지만 파일이 동일한 partiton에있는 경우에만 작동합니다.

C:\Users\Administrator>where /r c:\ thunderbird.exe
c:\Program Files\Mozilla Thunderbird\thunderbird.exe

고맙지 만, 이미 실행중인 소프트웨어의 위치를 ​​가져오고 싶습니다. 작업 관리자에서도 볼 수 있습니다.
rakibtg

아니, ""작동하지 않습니다
rakibtg

"where"는 UNIX 명령 "which"와 같습니다. / R 스위치를 지정하지 않는 한 PATH에서 파일을 찾습니다 . dir httpd.exe / S 를 수행하는 것과 거의 같습니다 .
Adam Thompson

1

WMI를 사용하여이 작업을 수행 할 수 있습니다. httpd.exe
라는 프로세스에 대한 WQL 쿼리를 구성해야 하며 실행 파일이 시작된 경로를 가져 오려고 합니다.
이 정보는 Win32_Process 클래스에 보관되며 설명서에는 제공해야 할 정보 비트 (예 : Name ) 및 요청해야 할 비트 (예 : ExecutablePath )가 표시됩니다.

wmic.exe 를 사용 하여 WMI를 다음과 같이 쿼리 할 수 있습니다 .

wmic process WHERE name="httpd.exe" GET ExecutablePath  

이것은 다음과 비슷한 것을 출력해야합니다 :

C:\Apps\httpd.exe
C:\Apps\httpd.exe
C:\Apps\beta-test\httpd.exe  

ExecutablePath 대신 CommandLine 을 얻을 수도 있습니다 . 프로세스가 시작된 명령 줄 인수도 알려주므로 어떤 프로세스가 어떤 작업을 수행하고 있는지 좁 히면 큰 차이가 생길 수 있습니다.

wmic process WHERE name="httpd.exe" GET CommandLine  

다음과 같은 내용이 표시됩니다.

C:\Apps\httpd.exe -config=E:\widgetsales\httpd.conf
C:\Apps\httpd.exe -config=E:\widgetservices\httpd.conf
C:\Apps\beta-test\httpd.exe -config=D:\DevStuff\httpd.conf  

PID 와 명령 줄 을 가져 와서 더 잘할 수 있습니다 .

wmic process WHERE name="httpd.exe" GET CommandLine, ProcessID 

CommandLine                                                    ProcessId
C:\Apps\httpd.exe -config=E:\widgetsales\httpd.conf            51064
C:\Apps\httpd.exe -config=E:\widgetservices\httpd.conf         24716
C:\Apps\beta-test\httpd.exe -config=D:\DevStuff\httpd.conf     52728  
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.