想编写一个批处理,能监控tomcat6.exe这个进程占用的内存如果大于1024MB,就重启tomcat服务(系统服务)
如题,求一个bat脚本,能监控到tomcat6.exe进程的内存占用,如果大于1024MB,重启tomcat服务,然后我会把这个脚本添加到计划任务里,1分钟执行一次,求脚...
如题,求一个bat脚本,能监控到tomcat6.exe进程的内存占用,如果大于1024MB,重启tomcat服务,然后我会把这个脚本添加到计划任务里,1分钟执行一次,求脚本代码,最好能有注释,非常感谢!
展开
1个回答
2012-11-26
展开全部
:top
for /f "tokens=1-5 delims=, " %%a in ('tasklist /nh | findstr /i tomcat6.exe') do set s=%%e
if %s% GTR 1024 taskkill /f /im tomcat6.exe /t
ping -n 60 127.1>nul
goto top
for /f "tokens=1-5 delims=, " %%a in ('tasklist /nh | findstr /i tomcat6.exe') do set s=%%e
if %s% GTR 1024 taskkill /f /im tomcat6.exe /t
ping -n 60 127.1>nul
goto top
更多追问追答
追问
非常感谢~能稍微注释一下吗?看不太懂.
加上ping这个是不是它自己就能定时运行了?
这个是不是只是关闭进程啊,我如果想重启服务是不是还需要加上net start tomcat ?在什么地方加啊?
追答
tasklist /nh | findstr /i tomcat6.exe 列出进程,只取 tomcat6.exe的一行
for 命令取得进程所用内存大小
if 命令判断这个大小,如果大于1024M(如果需要精确大小,你再调整一下)就停止tomcat6.exe进程
ping 60秒以后重复
加了ping 只能每60秒运行一次里面的命令,但是批处理还是需要在运行状态才行。所以可以加入到自动运行中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询