29
2012
01

批处理重启花生壳客户端(UPDATE 20150509)

最近服务器上的DDNS客户端花生壳总是莫名其妙的就掉线,说掉线也不确切,一个花生壳登录两个帐户,一个就总掉,另一个就正常。掉线的帐户下,域名解析全都失败,都变成0.0.0.0。恨的人牙痒痒。

一开始以为是花生壳服务出了问题,去花生壳官方“问哈”发帖,但官方并没有给与解释。无奈,只好在自己的客户端上想办法。因为客户端解析失败是不定时的,重新启动花生壳就可以解决问题,但不一定5分钟,还是1小时后就又掉线。没办法,我决定想办法让花生壳定时重启。

定时的功能就交给系统自带的任务计划来完成。新建一个任务计划,触发条件改为每半小时执行一次。执行的程序就是我做的批处理。

批处理的内容就好办了,基本上就是先终止原先的花生壳进程,然后再重新运行花生壳即可。

批处理一共就4行:

taskkill /im PhDDNS.exe /f
taskkill /im PhDdnsCore.exe /f
@ping -n 5 127.1>nul 2>nul
start C:\Progra~1\Oray\PhDDNS\PhDDNS.exe

中间的PING是为了计时的,我让程序间隔大概5秒后再重新运行花生壳。其实不间隔也没问题,只是想让程序完全释放资源后再运行。最后用start的原因想必做批处理的朋友都清楚的,批处理启动一个应用程序后,进程不结束,批处理是不能继续执行下去的,批处理的窗口会一直在桌面上显示,任务管理器里会有一个cmd进程,所以用start来调用程序,可以让批处理执行完。尤其当任务计划多次调用一个批处理后,这一点的重要性会比较突显……

这个批处理很简单,因为时间仓促。有时间可以做一个复杂一点但更精准一点的。大致为先取得自己的IP地址,然后PING域名,然后对比IP地址和PING结果,看看IP是否相同,如果不同,再执行重启花生壳的步骤,否则结束。

其实这个功能应该是集成在花生壳内的一个功能,花生壳内有“域名诊断”功能,当发现错误时应该有简单的排除故障功能,比如重启花生壳客户端或向其他操作之类。但偏偏花生壳内没有这一功能,有些遗憾。

 

另外最近用做服务器的这台主机总是问题频发,由于是拿一台普通的机器做服务器,所以出点问题也正常。可最近问题越来越多了。时常发现机器会莫名死机,冷启动后机器无法进系统。初步检查怀疑是硬盘方面的问题。但这两块硬盘都是新的,应该不太会出问题才对。又检查了内存、散热等方面,都没有问题,只好尝试着更换主机电源,幸得手边有一个换下来的旧电源,换上去一试,果然问题排除…

说到这个电源故障,我这手头另台机器最近出了个更诡异的问题。换了一个Radeon HD6770显卡,结果自从加上这个显卡后,机器就几乎不能用了,自动关机,黑屏。一查温度,CPU达到100多度,能不关机么。一开始以为是加了显卡后整体温度上来了,所以CPU温度过高,换了散热器,又加了机箱风扇,结果不见起作用。最后还是认为是电源问题。换了个高功率的电源,CPU温度恢复到正常水平……真是一个破电源害人不浅呢。

听说过段时间单位将要再通条50M光纤,我看还是把机器转移到单位用光纤吧。。。


20150509 UPDATE

服务器更新了“新花生壳”,并且使用了2008系统后,原来的批处理已经失效了。主要是2008系统上默认禁用8.3短文件名,所以start不能启动新花生壳客户端了。新的批处理更改如下:

@echo off

title 重新启动新花生壳

@echo on

taskkill /im NewPhDDns.exe /f

taskkill /im NewPeanuthullService.exe /f

@ping -n 5 127.1>nul 2>nul

start "" "%ProgramFiles(x86)%\Oray\newphddns\NewPhDDns.exe"


这样就可以了,重新定了计划任务,每两个小时重启花生壳一次。

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。