Tomcat 後臺啓動進程

最近做項目中,因爲公用服務器的原因,啓動在服務器上面的服務老是被人關閉(tomcat的服務窗口太多)

所以想把服務窗口轉到後臺啓動

1:tomcat如何啓動服務

基於tomcat的啓動腳本(處理過),其實也可以用tomcat下的start.bat腳本啓動,原理一樣,只是我需要添加配置,這樣寫比較清晰。

@echo off

echo start tomcat webapps
set  "JAVA_HOME=D:\XXX\JDK7"    --設置用到的jdk
set  "CATALINA_HOME=D:\XXX\apache-tomcat-xxx"  --設置用到的tomcat
set  "JAVA_OPTS=%JAVA_OPTS% -server  -Xms64m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=256m  -DXXX.config.dir=D:\XXX\XXX "   //參數設置和設置用到的配置文件
START "XXX" %CATALINA_HOME%\bin\catalina.bat run -config %CATALINA_HOME%\conf\server.xml  --啓動相關命令
echo please waint untill the application started successfully.

echo ------ DONE ----------

 

從上面不難看出啓動的是catalina.bat

這個鏈接說的也很詳細:https://www.jianshu.com/p/b2f63ffa964c,具體細節看這篇文章即可,不在贅述。

2:如何後臺啓動tomcat服務

在上面腳本中set  "CATALINA_HOME=D:\XXX\apache-tomcat-xxx" 指定的tomcat文件下找到

D:\XXX\apache-tomcat-xxx"\bin\setclasspath.bat   右鍵編輯這個文件,直接拖動到文件最下面

找到set _RUNJAVA="%JRE_HOME%\bin\java",將其改成

set _RUNJAVA="%JRE_HOME%\bin\javaw"  

再啓動最上面的腳本(或者tomcat下面的start.bat腳本)

這樣就已經是後臺啓動tomcat服務了

3:修改tomcat啓動服務的進程名稱

按照步驟2中的改動後,想要關閉啓動的tomcat服務,發現在進程中都是javaw.exe名稱,如果服務器中啓動了多個此類javaw.exe進程,但是卻根本不知道關閉哪一個,修改進程名稱操作如下

打 開上面路徑中的setclasspath.bat文件,找到set _RUNJAVA="%JRE_HOME%\bin\java"這一行。將該行註釋掉(即改爲 rem set _RUNJAVA="%JRE_HOME%\bin\java"),然後在該行下面添加如下兩行並進行保存:

   copy "%JAVA_HOME%\bin\javaw.exe" "%JAVA_HOME%\bin\xxx.exe"  --這裏還是用javaw,不然不是後臺啓動服務

   set _RUNJAVA="%JAVA_HOME%\bin\xxx"

 注意:omp爲你所想看到的進程名字(即在任務管理器中的映像名稱)

 重啓tomcat後在在任務管理器中看見的進程名就不再是javaw.exe,而是xxx.exe了。

4:依據後臺名稱關閉服務進程

步驟3後,我們終於可以區分各個服務,就是每次關閉服務需要去任務管理器中,找到xxx.exe並關閉進程,有點麻煩是不是,其實我們可以寫個關閉指定進程名稱的腳本,具體如下:

@echo off

echo stop xxx.exe
call taskkill /f /im xxx.exe  --一定加上/f 強制終止進程
pause

至此就結束了

如果對上面的步驟有任何疑問或者更好的方法,歡迎回復交流,謝謝!

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章