在工作中经常会有发送远端命令来重启应用或是修改项目的情况。有时候,由于权限问题以及便捷性,并不总是能够远程控制,这时候需要发送一些远程命令来执行操作。
使用apache搭建一个服务器,基于访问html来发送一些命令,可以远程重启服务器。但是存在一个问题,比如,架设html的服务器在执行批处理命令的时候,执行到这句:
call “D:/tomcat/bin/shutdown.bat”这时候,并没有关掉远端的tomcat服务器,而是把自己给关掉了。因为它认定的环境变量是自己的。
我们可以借助于使用批处理来直接杀掉JAVA进程。
实现功能:在启动网页监控脚本之前,先检查客户端进程java.exe是否开启的,如果是,则先kill掉该进程,如果没有该进程,则继续下一个步,依次开启 statup.bat开启服务器。
kill_bat.bat 脚本内容如下:
@ECHO OFF
:check java.exe
tasklist >list.txt //将所有进程信息列入list.txt文件里面(这里默认当前目录)
find /i "java.exe" list.txt //从list.txt文件里查找java.exe这个进程
if "%errorlevel%"=="1" (goto start) else (go