注意:本文中设计的方法,虽然能够隐藏控制台窗口,但并不是真正意义的"后台运行",此时,如果注销服务器,那么所有运行的golang网站服务程序都会终止,解决办法:
点击使用.net完美解决服务器注销后go的web服务停止的问题
如果一个服务器有10个golang的web,每一个都显示一个cmd窗口的话,会很难看,解决如下:
1)go build 你的web 生成一个exe文件
例如 我的项目叫 "myweb",那么我需要在我的项目根目录上面打开cmd,执行一条命令就可以了: go build myweb .就会生成一个myweb.exe文件
2)制作bat文件 通过bat文件启动该exe文件:
新建一个空bat文件,把上一步生成的myweb.exe的绝对路径添加到bat文件中,这样双击bat文件就能启动myweb.exe文件了
此时,会有一个cmd窗口弹出,很不好看,如果我们想让myweb.exe后台运行,只需要在bat文件最顶部加入以下代码:
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin REM
此时,bat文件的全部代码如下:
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin REM C:\GOPATH\src\myweb\myweb.exe
3)开机自动运行bat文件:
方法1:修改注册表法:
开始-运行-输入“regedit”(不包括引号)-找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项目,在其右侧窗口右击,选择新建字符串值,双击新建字符串值,在数值数据中输入你需要启动的程序路径,注意在整个路径上加上引号,即是:“C:\GOPATH\src\myweb\myweb.exe”
方法2:.vbs脚本启动法
此时我们需要建一个.vbs脚本来后台执行该脚本,脚本内容为:
set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\abc\script.bat /start",0然后将该文件保存为script.vbs,放入“开始 --> 所有程序 --> 启动”内即可。