我有一个java的spring boot 程序,运行在windows系统。之前一直使用java -jar 命令来启动程序,会有一个黑黑的cmd控制台界面,很容易被别人勿关闭。BOSS想要一个隐藏隐藏控制台界面,并开机自启动。经过实验,已经实现,现在记录下方法
启动脚本改成这样,第二行脚本就是关闭控制台,第3行脚本把控制台日志输出到nohup.log
@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -jar *.jar >nohup.log 2>&1 &
exit
关闭脚本
@echo off
rem 设置监听的端口号
set port=端口号
echo port : %port%
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
if [%%d] EQU [LISTENING] (
set pid=%%e
)
)
for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do (
set image_name=%%a
)
echo now will kill process : pid %pid%, image_name %image_name%
pause
rem 根据进程ID,kill进程
taskkill /f /pid %pid%
pause
这边是指定端口号的来关闭进程
开机自启动
在开始菜单的搜索栏内或者在“运行”窗口内输入以下命令后回车:shell:Common Startup,打开启动文件夹。
把启动脚本的快捷方法复制进来就行了
经过简单两步操作,就实现了java程序后台自启动,并且不显示控制台界面,避免被人勿关闭了