답변:
응용 프로그램과 서비스에는 모두 관련된 프로세스가 있습니다.
응용 프로그램 A는 바탕 화면에 상호 작용 프로그램 . 이것은 거의 모든 시간을 컴퓨터에서 사용하는 것입니다. 인터넷 익스플로러, 마이크로 소프트 워드, 아이튠즈, 스카이프-모두 응용 프로그램입니다.
과정은 입니다 특정 실행 파일의 예 ( .exe
프로그램 파일)을 실행합니다. 주어진 응용 프로그램에는 여러 프로세스가 동시에 실행 중일 수 있습니다. 예를 들어 Google 크롬과 같은 일부 최신 브라우저는 한 번에 여러 프로세스를 실행하며 각 탭은 실제로 동일한 실행 파일의 개별 인스턴스 / 프로세스입니다. 복잡한 응용 프로그램에는 여러 프로세스가있을 수 있습니다. 예를 들어 Visual Studio는 IDE를 표시 할 때와 코드를 컴파일 할 때 별도의 프로세스를 실행합니다. 그러나 대부분 주어진 응용 프로그램이 단일 프로세스에서 실행되고 있습니다. 예를 들어, 열려있는 Microsoft Word 창 수에 관계없이 단일 인스턴스 만 winword.exe
실행됩니다.
서비스 A는 백그라운드에서 실행 과정 및 데스크톱과 상호 작용하지 않습니다. Windows에서 서비스는 거의 항상 svchost.exe
프로세스 의 인스턴스 인 Windows 서비스 호스트 프로세스로 실행됩니다. 그러나 때때로 이것에 대한 예외가 있습니다.
때로는 프로세스가 데스크탑과 상호 작용하지 않고 서비스로 설치되지 않고 백그라운드에서 실행될 수 있습니다. 향상된 기능을 가진 많은 장치 드라이버가이를 수행합니다. 예를 들어, 터치 패드 드라이버에는 일반적으로 사용자가 로그인하여 터치 패드의 특수 기능을 처리 할 때 실행되는 프로세스가 있지만 서비스가 아니며 사용자에게 창을 표시하지 않습니다.
때로는 응용 프로그램이 특정 서비스에 의존 할 수 있습니다. 모든 프로그램에서 인쇄하려면 인쇄 스풀러 서비스가 활성화되어 있어야합니다. 설치 패키지 ( .msi
설치 관리자)를 사용하려면 Windows 설치 관리자 서비스가 실행 중이어야합니다. 바이러스 백신 프로그램은 일반적으로 서비스를 사용하므로 사용자가 로그인하지 않아도 계속 실행할 수 있습니다.
일반적으로 응용 프로그램을 닫으면 프로세스가 종료되지만 항상 그런 것은 아닙니다. 일부 프로그램, 특히 다운로드 및 백업 프로그램은 창을 표시하지 않고 백그라운드에서 계속 실행될 수 있습니다. 바이러스 백신도 이에 대한 예입니다. 서비스를 사용하는 것 외에도 많은 바이러스 백신 응용 프로그램은 백그라운드에서 자동으로 프로세스를 실행하여 작업이 필요한 경우에만 사용자에게 응용 프로그램을 표시합니다.
응용 프로그램과 서비스는 모두 프로세스입니다. 응용 프로그램은 단일 사용자와 상호 작용하는 반면 서비스는 시스템 전체에서 작동하지만 사용자와 직접 상호 작용하지는 않습니다.
svchost.exe
되지만 Windows 이외의 다른 서비스는 많이 보지 못했습니다. Sysinternal의 Process Explorer를 사용하여 Services MMC 콘솔의 특정 서비스가 호스팅하는 서비스를 결정할 수 있습니다 svchost.exe
.