golang web程序开机自动启动,并隐藏cmd窗口

zhifeiya · · 6559 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

注意:本文中设计的方法,虽然能够隐藏控制台窗口,但并不是真正意义的"后台运行",此时,如果注销服务器,那么所有运行的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,放入“开始 --> 所有程序 --> 启动”内即可。







有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:zhifeiya

查看原文:golang web程序开机自动启动,并隐藏cmd窗口

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6559 次点击  
加入收藏 微博
1 回复  |  直到 2018-01-10 01:37:24
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传