一、NT服务介绍所谓NT服务,实际上是一类特殊的应用程序所谓NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的伴随系统长时间存在的进程
象FTPserver、HTTPserver、脱机打印等都是采用NT服务的形式提供的
这实际上类似Unix的rootdaemon进程
NT服务归纳起来,NT服务又以下几个特征:1、可以自启动,不需要交互启动
这对于服务器来说是一个重要的特征
当然,你可以决定服务是否自启动,甚至可以屏蔽某个服务
2、NT服务没有用户界面,基本上类似一个DOS程序,因为NT服务必须长时间运行,所以不想普通win32进程一样有自己的界面
但是NT服务可以同用户有界面交互,这是一类特殊的服务进程
可以通过NT的任务管理器来看到服务进程
3、NT服务通过SCM(ServicesControlManager)接口来管理,安装、启动、停止、撤除等都需要SCM的接口功能来进行
控制面板的服务控制器就是利用SCM接口来管理系统中的所有服务的
实际上,还有一些可以控制服务的程序或者命令,有net
exe、服务器管理器等、SCM
4、这些进程都以一定的身份运行,以方便进行服务器资源的存取
一般情况下使用域中的LocalSystem账号运行,此账号对本机上的大多数资源(除非特别禁止)有完全的存取权限,这样可以保证服务程序的“强大”
但是,也有些服务采用特别的账号运行,你也可以特别设定一个服务的帐号
5、由系统自动以线程方式运行,一般情况下不过多占用系统资源,这同普通的进程有所区别,如果不采用线程方式,一般进程往往消耗整个CPU资源
一般需要时时存在,又不能过多消耗资源的任务以服务来实现最合适
二、Java编写服务的准备1、作为本地化的实现,实现NT服务的Java程序当然不是100%纯Java,单靠标准类库是无法实现我们的编写NT服务的目的,所以MS提供了一套S