C#windows服务开发

一,SC命令创建和卸载windows服务

             创建服务的命令格式:

sc [servername] create Servicename [Optionname= Optionvalues]

servername(可选)

可选,可以使用双斜线,如\\\\myserver,也可以是\\\\192.168.0.1来操作远程计算机。如果在本地计算机上操作就不用添加任何参数。

Servicename

在注册表中为service key制定的名称。注意这个名称是不同于显示名称的(这个名称可以用net start和服务控制面板看到),而SC是使用服务键名来鉴别服务的。

Optionname 

    这个optionname和optionvalues参数允许你指定操作命令参数的名称和数值。注意,这一点很重要在操作名称和等号之间是没有空格的。

    如果你想要看每个命令的可以用的optionvalues,你可以使用sc command这样的格式。这会为你提供详细的帮助。

Optionvalues

    为optionname的参数的名称指定它的数值。有效数值范围常常限制于哪一个参数的optionname。如果要列表请用sc command来询问每个命令。

需要注意的是:

1. 在option= xxxxx格式中,“=”号和后面的内容一定要有空格,如depend=  Tcpip

2. 如果命令中的需要进行双引号的嵌套,使用反斜杠加引号 " \" " 来进行转义处理。

          事例格式:  

sc create svnservice binpath= "\"D:\Servers\Subversion\bin\svnserve.exe\" --service -r E:\SVN\repository" displayname= "SVNService" depend= Tcpip start= auto  

     SC删除命令:

sc delete [ServiceName] 
失败提示:DeleteService FAILED 1072

在删除服务时可能会遇上一个失败提示“DeleteService FAILED 1072: The specified service has been marked for deletion.”,或者运行没报错,但服务仍然在服务管理列表中
这 是因为server被卸载掉时,会检查状态(实际是标记状 态,启动服务时检查,确定定启动或是卸载)。如果是启动状态,则在服务停止时自动卸载;否则立即卸载。所以报错的原因可能是因为服务处于启动状态,所以无 法删除,如果需要立即删除,需要使用命令终止服务,命令格式如下:
sc stop ServiceName

 

posted @ 2018-08-11 17:28  辣根弟弟  阅读(198)  评论(0编辑  收藏  举报