如何让服务程序自行重启
服务重启自己,这样可以吗?最近遇到这样一个需求,需要服务自己重启自己。
[解决办法]
最简单的方法,是写一个批处理:
===== restart.bat ====
ECHO OFF
SC stop ServiceName
SC start ServiceName
ECHO ON
然后在服务中用ShellExecute来调用之。
[解决办法]
在创建服务的时候
hService := CreateService(hSCM,
PChar(SvcName),
PChar(SvcDispName),
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
PChar(SvcFullPath),
nil, nil, nil, nil, nil);
设置成 SERVICE_AUTO_START 就可以了
[解决办法]
服务的属性-恢复里,有3次失败的不同应对,可以选择 自动重启服务
[解决办法]
服务程序自己重启自己,不行吧,
只能在服务程序退出前,调用其它程序来启动服务程序