Windows 서비스는 오랜 시간 동안 실행되며 특정한 기능을 수행하는 실행 파일(.exe)이다.
이러한 서비스는 컴퓨터가 부팅될 때 자동으로 시작될 수 있으며, 일시 중지를 하거나 다시 시작할 수 있으며, 이 과정에서 보통 사용자 인터페이스를 표시하지 않는다.
이러한 서비스의 내용을 살펴보려면
'시작 메뉴 우클릭 > 컴퓨터 관리 > 서비스 및 응용 프로그램 > 서비스'
로 진입하면 서비스의 내용을 확인할 수 있다.
이러한 서비스들은 'svchost.exe'가 담당하는 '서비스 호스트'와 그 외 서비스 등록이 가능한 프로그램으로 구성된다.
'컴퓨터 관리'의 '서비스' 항목을 살펴보면 이와 같은 서비스들을 따로 추가하거나 삭제할 수 있는 방법을 제공하지 않는다.
따라서 서비스 항목들을 추가 삭제하기 위해서는 'SC'명령어를 이용하여야 한다.
이 글에서는 서비스를 등록하는 방법과 삭제하는 방법을 알아보고자 한다.
서비스를 '등록' 하는 데에는 프로그램의 제한이 딱히 없지만,
서비스를 통해 모든 프로그램을 '실행'할 수는 없다.
서비스를 통해 실행할 수 있도록 프로그래밍되어 있어야 서비스를 통해 실행할 수 있다.
서비스 생성
먼저 서비스를 생성하는 방법이다.
먼저 명령 프롬프트를 관리자 권한으로 실행한다.
SC create "서비스 이름" binPath= "프로그램 경로"
[SC create "서비스 이름" binPath= "프로그램 경로"]를 입력한다.
"서비스 이름"에는 서비스의 이름을, "프로그램 경로"에는 서비스에 등록하고자 하는 프로그램의 경로를 입력한다.
서비스가 생성되었다면 'CreateService 성공'이라는 문구가 뜬다.
서비스가 생성된 것을 확인할 수 있다.
관리자 권한으로 실행하지 않으면 액세스를 거부한다.
상술하였듯 서비스를 통하여 실행할 수 없는 프로그램은 서비스를 실행하지 못한다며 위와 같은 창이 뜬다.
서비스 제거
다음은 서비스를 제거하는 방법이다.
서비스가 실행 중이라면 서비스를 제거할 수 없다.
SC stop "서비스 이름"
먼저 [SC stop "서비스 이름"]을 입력하여 서비스를 중지한다.
SC delete "서비스 이름"
[SC delete "서비스 이름"]을 입력하여 서비스를 제거한다.
만약 컴퓨터 실행 시 자동으로 프로그램을 실행하고자 하는 목적이라면 작업 스케쥴러를 이용하는 것이 좋다.
참고 자료
Windows 서비스 애플리케이션 소개 - .NET Framework
Windows 서비스 애플리케이션 소개를 읽어보세요. 서비스를 사용하면 자체 Windows 세션에서 실행되는 장기 실행 파일 애플리케이션을 만들 수 있습니다.
learn.microsoft.com
https://learn.microsoft.com/ko-kr/dotnet/core/extensions/windows-service
BackgroundService를 사용하여 Windows Service 만들기 - .NET
.NET에서 BackgroundService를 사용하여 Windows Service를 만드는 방법을 알아봅니다.
learn.microsoft.com
https://sprout13.tistory.com/26
작업 스케줄러를 이용한 Windows 부팅 시 프로그램 자동 시작
경우에 따라서 컴퓨터를 실행한 후 자동으로 시작되었으면 하는 프로그램이 있다. '시작프로그램'을 이용할 수 있는 프로그램이라면 그것을 이용하면 되지만, 그럴 수 없는 경우에는 Windows 로그
sprout13.tistory.com
'컴퓨터 > Windows' 카테고리의 다른 글
Cipher /w: (2) | 2023.02.08 |
---|---|
Windows RE에 업데이트 적용하기 (0) | 2023.01.11 |
PCem (0) | 2022.12.26 |
Windows 파일 암호화 시스템(EFS)에 대한 정보 (3) | 2022.12.18 |
Windows 부팅, 종료 중 매우 자세한 상태 메시지 표시 (0) | 2022.12.05 |
댓글