it-swarm-ko.tech

svchost는 무엇이며 여러 인스턴스가 실행되는 이유는 무엇입니까?

내 데스크톱에서 6 개의 인스턴스가 실행 중이고 내가 관리하는 서버에서 10 개 정도의 인스턴스가 실행 중입니다. 이것은 무엇이며 시스템 기능에 필수적입니까?

27
jldugger

svchost, Windows의 호스트 서비스 KB 를 참조하십시오. Process Explorer 를 사용하면 특정 프로세스 내에서 어떤 서비스가 실행되고 있는지 확인할 수 있습니다.

16
Rob Haupt

Windows의 많은 실행 구성 요소는 서비스로 구현됩니다 (Control Panel > Administrative Tools > Services를 여는 시스템의 모든 서비스 참조). 이들은 백그라운드에서 실행되는 특수 프로그램입니다. 로그인 한 사용자가 시작하지 않고 내 운영 체제 자체가 시작됩니다.

대부분의 서비스는 독립 실행 형 실행 파일 (EXE 파일)이 아니지만 실행중인 프로세스에서 사용할 수있는 라이브러리 (DLL)로 구현됩니다. 이름에서 알 수 있듯이 Svchost 또는 "서비스 호스트"는 이러한 DLL을 실행하기위한 Windows의 표준 실행 파일입니다. %systemroot%\system32 디렉터리에서 svchost.exe 파일을 찾을 수 있습니다.

어떤 svchost 인스턴스가 어떤 서비스를 실행하고 있는지 알고 싶다면 다음을 입력하십시오.

 tasklist /svc /fi "IMAGENAME eq svchost.exe"

명령 줄 콘솔 (cmd)에서.

예를 들어 스크린 샷을 만든 컴퓨터에서 svchost 인스턴스 중 하나가 21 개의 다른 서비스를 실행하고 있습니다. 이 서비스 그룹을 사용하면 Microsoft의 문서 에 따라 더 나은 제어와 더 쉬운 디버깅이 가능합니다.

alt text

Svchost.exe 그룹은 다음 레지스트리 키에서 식별됩니다.

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

팁 (Windows Vista, Windows 7 또는 Windows Server 2008을 실행하는 경우) : 작업 관리자를 열고 특정 svchost.exe 프로세스를 마우스 오른쪽 단추로 클릭 한 다음 "서비스로 이동"옵션을 선택할 수 있습니다. 그러면 선택한 svchost.exe 프로세스에서 실행중인 모든 서비스가 표시되는 Services 탭이 표시됩니다.

Microsoft의 다운로드 센터에는 매우 흥미로운 문서가 있습니다.

Microsoft Windows Server 2003 시스템 서비스 참조

이 문서에는 Windows Server 2003 제품군 운영 체제에서 사용할 수있는 모든 서비스가 요약되어 있습니다. 서비스는 표시 이름에 따라 알파벳 순서로 나열됩니다. 각 서비스에 대한 설명 다음에 서비스에 대한 주요 정보가 표에 나열됩니다.

모든 Windows 서비스는 모든 세부 정보와 함께 나열됩니다. 예를 들어 터미널 서비스 서비스의 실행 파일 이름이

 svchost.exe -k termsvcs 
20
splattne

Svchost는 "서비스 호스트"의 약자입니다. 컴퓨터에서 대부분의 서비스를 계속 실행합니다. 자체 .exe 파일에서 자체 호스팅하는 몇 가지 서비스가 있지만 대부분의 Windows 서비스는 svchost.exe 프로세스 내에서 호스팅되어야합니다. 컴퓨터의 서비스는 네트워킹, RpC 서버, 오디오, 이벤트 로그 등과 같은 중요한 항목을 처리합니다.

컴퓨터에서 실행중인 서비스를 보려면 시작-> 실행에 "services.msc"를 입력하십시오. 누군가가 부적절하다고 판단되면 서비스를 중지 할 수 있습니다.

다른 svchost.exe 파일에서 호스팅하는 서비스를 보려면 "tasklist/SVC"를 입력합니다.

7
Frode Lillerud

다음은 svchost.exe 프로세스에서 호스팅되는 모든 서비스를 출력하는 PowerShell 한 줄입니다.

PS>get-process svchost | % {get-wmiobject win32_service -filter "processid=$($_.id)"} | format-table processid,name,displayname,state,status -auto

processid name          displayname                               state   status
--------- ----          -----------                               -----   ------
      316 HTTPFilter    HTTP SSL                                  Running OK
     1328 DcomLaunch    DCOM Server Process Launcher              Running OK
     1328 TermService   Terminal Services                         Running OK
     1392 RpcSs         Remote Procedure Call (RPC)               Running OK
     1528 AudioSrv      Windows Audio                             Running OK
     1528 BITS          Background Intelligent Transfer Service   Running OK
     1528 Browser       Computer Browser                          Running OK

한 줄짜리 짧은 버전은 다음과 같습니다.

gps svchost | % {gwmi win32_service -f "processid=$($_.id)"} | ft proc*,name,disp*,stat* -auto
1
aleksandar

이 문서가 도움이 될 수 있습니다. http://www.gfi.com/blog/exploring-svchostexe-part-1/

0
Gilbert