几年前给某医院做的网站,最近由于该医院要应付检查,所以把该网站要拿出来show一下,因为很多资料文件都在上面,网站资料文件加上网站本身大小10G左右,但奇怪的是,该网站做成windows服务后,windows服务每隔几个小时就会停掉(因为发布的服务器更换过,更换之前的服务端不会出现当掉的情况),也不知道是何故,只能临时想到一个折中的解决办法,应付检查过去再说!
- 利用Delphi编写一段小程序,每隔30s监控网站服务是否启动着,如果没启动着,则启动它
- 相关信息写入ini文件
启动windows服务代码段:
function StartService(AServName: string): Boolean; //use WinSvc var SCManager, hService: SC_HANDLE; lpServiceArgVectors: PChar; begin SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS); Result := SCManager <> 0; if Result then try hService := OpenService(SCManager, PChar(AServName), SERVICE_ALL_ACCESS); Result := hService <> 0; if (hService = 0) and (GetLastError = ERROR_SERVICE_DOES_NOT_EXIST) then Exception.Create('The specified service does not exist'); if hService <> 0 then try lpServiceArgVectors := nil; Result := WinSvc.StartService(hService, 0, PChar(lpServiceArgVectors)); if not Result and (GetLastError = ERROR_SERVICE_ALREADY_RUNNING) then Result := True; finally CloseServiceHandle(hService); end; finally CloseServiceHandle(SCManager); end; end;
界面程序如下图:
所有的代码在附件里,临时想到的应付检查的办法!