以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]定时检测服务端是否挂了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113985)

--  作者:ajie5211
--  发布时间:2018/1/26 9:30:00
--  [求助]定时检测服务端是否挂了
昨天把openQQ服务端和一个中间计算程序做了每天晚上自启动一次,但今天早上,两个程序都没有启动,车间上班时间比我早半小时,严重影响了他们的工作。请问,在windows server2008的系统中,有什么办法定时检测服务端程序是否挂了,挂了,就重启。现在狐表已有服务端的概念了,开机自启动,防止自动挂掉都需要用到了。以前整了很久,如系统服务一样开机自启动一直不成功,好像说是狐表是有窗口的程序,而开机自启动不能是有窗口的程序,这些问题,不知道各位大神都是如何解决的?
--  作者:有点甜
--  发布时间:2018/1/26 9:39:00
--  

这个自动重启有什么问题?你可以先模拟测试的啊

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113870&skin=0

 


--  作者:ajie5211
--  发布时间:2018/1/26 9:46:00
--  
以下是引用有点甜在2018/1/26 9:39:00的发言:

这个自动重启有什么问题?你可以先模拟测试的啊

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113870&skin=0

 

唉,我刚在服务端做了一个程序测试了,他会重启啊。可今天早上,两个程序就是没有启动。我还晕着哪,没有整明白。也不知道是不是没有人执首的原因,还是因为啥?我来了,系统显示锁定状态,昨天晚上我走时锁定的。昨天晚上,走之前我特意把服务端打开的,然后锁定系统走人了。


--  作者:ajie5211
--  发布时间:2018/1/26 9:51:00
--  
我再做一个,看系统锁定状态下会不会重启。我现在去试试。
--  作者:有点甜
--  发布时间:2018/1/26 9:53:00
--  

你测试的时候,尽量在你本来的程序那里测试,要在那里测试通过才行的。

 

或者定时检测是否运行,不运行就重启。测试代码

 

做一个新的项目,做个定时计划,定时检测

 

try
    Dim req = System.Net.WebRequest.Create("http://127.0.0.1/test.htm")
    req.timeout = 3000
    Dim pos = req.GetResponse
    Dim stm As System.IO.Stream = pos.GetResponseStream()
    Dim reader As New System.IO.StreamReader(stm)
    Dim str As String = reader.ReadToEnd
    pos.Close
    stm.Close
    reader.close
   
    \'msgbox(str)
catch ex As exception
    \'msgbox("出错")
    \'msgbox(ex.message)
   
    Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")
    For Each p As System.Diagnostics.Process In ps
        If p.MainWindowTitle.Contains("win8代码输入卡顿") Then
            p.kill
            Dim Proc As new Process
            proc.File = "C:\\Users\\dv rrxaI600 007\\Desktop\\备份\\win8代码输入卡顿的处理_开发版\\win8代码输入卡顿的处理_开发版.foxdb"
            proc.Start
        End If
    Next
End try

 

 

----------------服务器端假死测试代码

 

system.threading.thread.sleep(30000) \'30秒