Creating Interactive Service
Windows 서비스, 혹은 NT 서비스, Win32 서비스 등으로 불리는 ‘서비스’는 윈도우 시스템 부팅과 더불어 수행되는 프로세스로서 UNIX로
말하자면 데몬(daemon) 프로세스 정도에 해당하는 프로세스가 되겠다. 이 서비스들이 제대로 설정되지 않거나 제대로 구동되지 않으면 윈
도우 시스템은 제대로 부팅조차 되지 않는 무용지물이 되어 버린다. 많은 독자들이 알지 못하는 것 중 하나가, 디바이스 드라이버 역시 서비
스의 일종이라는 점이다. 이렇게 서비스는 윈도우 시스템에서 매우 중요한 역할을 하는 운영체제 요소 중 하나이다.
What’s the Interactive Service ?
Windows 서비스는 대개 사용자 인터페이스(UI)를 갖지 않는다. 그도 그럴 것이, UI를 갖기 위해서는 윈도우 스테이션(window station)이란
것이 필요하고(그냥 그런게 있다고 알아 두자. -_-;) 윈도우 스테이션은 사용자가 콘솔이나 터미널로 로그온 해야만 생성되지만, 서비스는
사용자 로그온 보다 먼저 실행되기 때문에 윈도우 스테이션을 가질 수 없기 때문이다. 아주 가끔 Windows 서비스가 UI를 갖아야 할 때가 생
기곤 하는데, 이 때 서비스가 UI를 갖는 경우, 이 서비스를 Interactive 서비스라고 한다. 필자는 아직 이런 상황을 겪어보지 못했다. 사실 별로
겪고 싶지 않은 상황이다. 고려해야 할 사항들이 졸라 많기 때문이다. 고려해야 할 사항이 뭔지는 쪼매만 기둘려 봐봥…
어찌 되었건 Interactive 서비스를 꼭, 반드시, 절대로, 정말로, 완전히 사용해야 한다면 사용할 수 있는 방법이 있다. 먼저 서비스 관리자를 통
해 화면 1과 같이 Interactive 서비스 설정을 해줄 수 있다. 화면 1을 보면 눈치를 챌 수 있겠지만 Interactive 서비스를 위해서는 기본적으로 로
컬 시스템 계정이 사용되어야 한다. Interactive 서비스 관련 MSDN 자료를 살펴보면, 로컬 시스템 계정이 아니여도 되는 것처럼 설명하고는
있지만, 그게 제약이 훨씬 더 많다. 일단 로컬 시스템 계정이 사용되어야 한다고 알아두자. 이렇게 Interactive 서비스로 설정되면 서비스는 데
스크톱 화면과 상호작용, 즉 UI를 표시하고 사용자의 입력을 받을 수 있게 된다.
[C#] Interactive Service 만들기 (서비스와 데스크탑 상호작용 허용) _ 네이버 블로그

14 Comments
댓글 남기기