如果一个服务器有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
有疑问加站长微信联系(非本文作者)