Windows服务之启动、停止、暂停、继续

原文:Windows服务之启动、停止、暂停、继续

Windows服务之启动、停止、暂停、继续
2011-11-09 15:07:37
    我来说两句
收藏
   我要投稿   
[字体:
]

SC_HANDLE   scm,sHandle;

SERVICE_STATUS  
ServiceStatus;

scm=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);

if   (scm!=NULL)

{

//启动service

sHandle=OpenService(scm, "GwbnService",SERVICE_START);

if(sHandle!=NULL)

{

StartService(sHandle,0,NULL))//开始Service

}

//停止Service

sHandle=OpenService(scm,
"GwbnService",SERVICE_STOP|SERVICE_QUERY_STATUS);

if(sHandle!=NULL)

QueryServiceStatus(sHandle,&ServiceStatus);

if(ServiceStatus.dwCurrentState  
==  
SERVICE_RUNNING  
||  
ServiceStatus.dwCurrentState  
==   SERVICE_PAUSED)

{

ControlService(sHandle,SERVICE_CONTROL_STOP,&ServiceStatus);

}

//暂停Service

sHandle=OpenService(scm,
"GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);

if(sHandle!=NULL)

QueryServiceStatus(sHandle,&ServiceStatus);

if(ServiceStatus.dwCurrentState  
==   SERVICE_RUNNING)

{

ControlService(sHandle,SERVICE_CONTROL_PAUSE,&ServiceStatus);

}

//继续Service

sHandle=OpenService(scm,
"GwbnService",SERVICE_PAUSE_CONTINUE|SERVICE_QUERY_STATUS);

if(sHandle!=NULL)

QueryServiceStatus(sHandle,&ServiceStatus);

if(ServiceStatus.dwCurrentState  
==   SERVICE_PAUSED)

{

ControlService(sHandle,SERVICE_CONTROL_CONTINUE,&ServiceStatus);

}

}

注意:服务有服务名称和显示名称之分,这里需要的是服务名称

时间: 2024-10-22 17:11:05

Windows服务之启动、停止、暂停、继续的相关文章

将MongoDB作为windows服务项启动

在windows下使用mongodb,每次使用都要重新启动,非常麻烦,那么如何将它作为windows服务项启动呢?作为系统服务项启动以后,以后开机就可以直接使用了. 在C盘下新建一个文件夹,c:\data 在data文件夹下新建2个文件夹,分别用来存放数据和日志.即c:\data\db和c:\data\log. 复制mongod.exe的路径,如:"C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe",注意这里,因为Program Fi

控制Linux下 mono 服务的启动停止

当Window下的服务部署到Linux的时候,我们一般用Mono.service 来启动停止.参数比较多,不太好用.于是有个这个Shell脚本. 用法:moa s1 start #启动           moa s1 stop # 停止   要求有如下的目录结构: /opt/basepath/                     s1/                          sample1.exe #服务1,文件名称不限                     s2/     

windows服务安装启动报错误1053:服务没有及时响应启动或控制请求

1 <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> 2 3 </configuration> 用.net 开发了一个C#语言的windows服务,在本地和测试环境,安装启动都正常,在新的线上环境报错,不能启动-报出-错误1053:服务没有及时响应启动或控制请求. 后来发现时线上.NET FRAM

Windows 服务快捷启动命令

gpedit.msc-----组策略sndrec32-----录音机nslookup----- ip地址侦测器explorer------ 打开资源管理器logoff-------注销命令tsshutdn------60秒倒计时关机命令lusrmgr.msc----本机用户和组services.msc---本地服务设置oobe/msoobe /a---检查xp是否激活notepad------打开记事本cleanmgr------垃圾整理net start messenger--开始信使服务co

将redis加入到Windows服务开机启动

打开CMD,切换到redis所在文件夹 输入命令:1 redis-server.exe --service-install redis.windows.conf --loglevel verbose 弹出提示框,点击确定.之后在系统服务中看到redis,启动类型改为自动. 卸载命令:1 redis-server --service-uninstall 原文地址:http://blog.51cto.com/11657004/2135154

利用Python脚本管理Windows服务

Windows服务常用的功能就是启动服务,关闭服务,重启服务和查询服务运行状态,其中查询服务运行状态是其他三种操作的基础. 本文中提到的使用Python脚本管理Windows服务实际上是调用win32serviceutil模块,此模块来自pywin32包,此模块本身有管理服务的功能,有兴趣的可以去阅读它的部分源码. 本脚本存在的目的是为了熟练Python的语法和基本操作,Windows下有更好的命令行工具来管理服务,如sc.Powershell等.通常命令行工具的执行速度要比services.m

玩转Windows服务系列&mdash;&mdash;Windows服务启动超时时间

最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 要分析数据库启动失败的原因,首先说明一下数据库服务的工作机制. 数据库分为六大服务: 数据库的六大服务之间存在依赖关系,及启动流程: 服务自动启动失败原因 从客户那里,拿到了两份日志,一份是开机自启动的日志信息,此次数据库启动失败.另外一份是开机后,手动启动数据库服务的日志信息,此次数据库启动成功

C# .net windows服务启动多个服务 ServiceBase

在windows服务中想要启动多个服务 ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { // new SyncService(), new DataMoveService(), }; ServiceBase.Run(ServicesToRun); 但是发现每次都只启动了数组中的第一个服务,其他服务的onstart方法都没有执行, 查找资料后发现,问题有两个 1.需要在ProjectInstaller中没有添加安装项

windows服务管理操作

服务程序是windows上重要的一类程序,它们虽然不与用户进行界面交互,但是它们对于系统有着重要的意义.windows上为了管理服务程序提供了一个特别的程序:服务控制管理程序,系统上关于服务控制管理的API基本上都与这个程序打交道.下面通过对服务程序的操作来说明这些API函数 获取系统服务的信息 在windows系统中有专门用来存储服务信息的数据库,而获取系统服务信息主要是通过在这样的数据库中查找.所用到的函数主要有: OpenSCManager:打开数据库 SC_HANDLE WINAPI O