서비스 호스트 프로세스 (svchost.exe) 란 무엇이며 왜 그렇게 자주 운영됩니까?
작업 관리자를 통해 탐색 한 적이 있다면 많은 서비스 호스트 프로세스가 실행되는 이유가 궁금 할 것입니다. 당신은 그들을 죽일 수 없으며, 당신은 그들을 시작하지 않았습니다. 그래서, 그들은 무엇입니까??
서비스 호스트 프로세스는 DLL 파일에서 서비스를로드하기위한 셸 역할을합니다. 서비스는 관련 그룹으로 구성되며 각 그룹은 서비스 호스트 프로세스의 다른 인스턴스에서 실행됩니다. 그렇게하면 한 인스턴스의 문제가 다른 인스턴스에 영향을 미치지 않습니다. 이 프로세스는 실행을 방해 할 수없는 Windows의 중요한 부분입니다..
이 기사는 작업 관리자에서 dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe 및 기타 여러 프로세스와 관련된 다양한 프로세스를 설명하는 시리즈의 일부입니다. 그 서비스가 무엇인지 모릅니다. 더 읽기 시작하기!
서비스 호스트 프로세스 란 무엇입니까??
Microsoft의 답변에 따르면 다음과 같습니다.
Svchost.exe는 동적 연결 라이브러리에서 실행되는 서비스의 일반적인 호스트 프로세스 이름입니다..
하지만 그건 우리에게별로 도움이되지 않습니다. 얼마 전에 Microsoft는 Windows 기능의 대부분을 내부 Windows 서비스 (EXE 파일에서 실행)를 사용하지 않고 DLL 파일을 대신 사용하기 시작했습니다. 프로그래밍 관점에서 볼 때, 코드를 재사용 가능하고 틀림없이 최신으로 유지하는 것이 더 쉽습니다. 문제는 Windows에서 직접 실행 파일과 동일한 방식으로 DLL 파일을 시작할 수 없다는 것입니다. 대신 실행 파일에서로드 된 셸을 사용하여 이러한 DLL 서비스를 호스팅합니다. 서비스 호스트 프로세스 (svchost.exe)가 탄생했습니다..
많은 서비스 호스트 프로세스가 실행되는 이유?
제어판의 서비스 섹션을 살펴 본 적이 있다면 Windows에서 많은 서비스가 필요하다는 것을 알았을 것입니다. 모든 단일 서비스가 하나의 서비스 호스트 프로세스에서 실행되면 한 서비스에서 오류가 발생하면 모든 Windows가 중단 될 수 있습니다. 대신, 그들은 분리되어 있습니다..
서비스는 모두 다소 관련된 논리적 그룹으로 구성되며 각 서비스 호스트 인스턴스는 각 그룹을 호스트하기 위해 작성됩니다. 예를 들어, 하나의 서비스 호스트 프로세스는 방화벽과 관련된 세 가지 서비스를 실행합니다. 다른 서비스 호스트 프로세스는 사용자 인터페이스와 관련된 모든 서비스를 실행하는 등의 작업을 수행 할 수 있습니다. 예를 들어, 아래 이미지에서 하나의 서비스 호스트 프로세스가 여러 관련 네트워크 서비스를 실행하는 반면 다른 프로세스는 원격 프로 시저 호출과 관련된 서비스를 실행하는 것을 볼 수 있습니다.
이 모든 정보를 가지고 나에게 필요한 것은 무엇인가??
솔직히,별로. Windows XP (및 이전 버전)에서 PC의 리소스가 제한되어 운영 체제가 미세 조정되지 않은 경우 Windows에서 불필요한 서비스를 실행하지 않도록하는 것이 좋습니다. 요즘에는 서비스를 더 이상 사용하지 않는 것이 좋습니다. 최신 PC는 메모리와 고성능 프로세서를 탑재하는 경향이 있습니다. Windows 서비스가 최신 버전에서 처리되는 방식 (그리고 어떤 서비스가 실행되는지)이 간소화되고 필요없는 서비스를 제거하면 더 이상 큰 영향을 미치지 않습니다..
즉, 서비스 호스트 또는 관련 서비스의 특정 인스턴스가 지속적으로 과도한 CPU 또는 RAM 사용량과 같은 문제를 일으키는 경우 특정 서비스를 확인할 수 있습니다. 적어도 문제 해결을 시작할 위치를 알 수 있습니다. 서비스 호스트의 특정 인스턴스에 의해 호스팅되는 서비스를 정확하게 확인하는 방법은 몇 가지가 있습니다. 작업 관리자에서 사물을 확인하거나 프로세스 탐색기라는 훌륭한 타사 앱을 사용할 수 있습니다..
작업 관리자에서 관련 서비스 확인
Windows 8 또는 10을 사용하는 경우 프로세스는 작업 관리자의 "프로세스"탭에 전체 이름으로 표시됩니다. 프로세스가 여러 서비스의 호스트 역할을하는 경우 해당 프로세스를 단순히 확장하여 해당 서비스를 볼 수 있습니다. 따라서 서비스 호스트 프로세스의 각 인스턴스에 속한 서비스를 쉽게 식별 할 수 있습니다..
개별 서비스를 마우스 오른쪽 단추로 클릭하여 서비스를 중지하거나 "서비스"제어판 응용 프로그램에서 보거나 온라인으로 서비스 정보를 검색 할 수 있습니다.
Windows 7을 사용하는 경우에는 약간 다릅니다. Windows 7 작업 관리자는 프로세스를 동일한 방식으로 그룹화하지 않았으며 일반 프로세스 이름도 표시하지 않았습니다. "svchost.exe"의 모든 인스턴스가 실행 중임을 보여 줬습니다. "svchost.exe"의 특정 인스턴스와 관련된 서비스를 결정하기 위해 조금 탐험해야했습니다.
Windows 7에서 작업 관리자의 "프로세스"탭에서 특정 "svchost.exe"프로세스를 마우스 오른쪽 단추로 클릭 한 다음 "서비스로 이동"옵션을 선택하십시오..
그러면 "서비스"탭으로 넘어 가서 "svchost.exe"프로세스에서 실행되는 서비스가 모두 선택됩니다..
'설명'열에 각 서비스의 전체 이름이 표시되므로 서비스를 실행하지 않거나 문제를 일으키는 이유를 해결하지 않을 경우 서비스를 사용 중지하도록 선택할 수 있습니다..
프로세스 탐색기를 사용하여 관련 서비스 확인
Microsoft는 또한 Sysinternals 제품군의 일부로 프로세스 작업을위한 우수한 고급 도구를 제공합니다. Process Explorer를 다운로드하고 실행하면 휴대용 응용 프로그램이므로 설치할 필요가 없습니다. Process Explorer는 모든 종류의 고급 기능을 제공합니다. 자세한 내용은 Process Explorer를 이해하는 방법에 대한 안내서를 읽는 것이 좋습니다..
그러나 여기서 우리의 목적을 위해 Process Explorer는 "svchost.exe"의 각 인스턴스 아래 관련 서비스를 그룹화합니다. 파일 이름별로 나열되지만 전체 이름은 "설명"열에도 표시됩니다. "svchost.exe"프로세스 중 하나 위에 마우스 포인터를 올려 놓으면 해당 프로세스와 관련된 모든 서비스 (현재 실행되지 않은 서비스 포함)가있는 팝업이 표시됩니다..
이 프로세스가 바이러스 일 수 있습니까??
프로세스 자체는 공식적인 Windows 구성 요소입니다. 바이러스가 실제 서비스 호스트를 자체 실행 파일로 대체 한 가능성은 있지만 매우 드뭅니다. 확실하게 알고 싶으면 프로세스의 기본 파일 위치를 체크 아웃 할 수 있습니다. 작업 관리자에서 서비스 호스트 프로세스를 마우스 오른쪽 단추로 클릭하고 "파일 위치 열기"옵션을 선택하십시오..
파일이 Windows \ System32 폴더에 저장되어 있으면 바이러스를 다루지 않는 것이 확실 할 수 있습니다.
즉, 여전히 더 많은 마음의 평화를 원한다면 선호하는 바이러스 스캐너를 사용하여 항상 바이러스를 검사 할 수 있습니다. 죄송합니다보다 더 안전!