這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
如果一個伺服器有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檔案最頂部加入以下代碼:
[plain] view plaincopyprint?
- @echo off
- if "%1" == "h" goto begin
- mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
- :begin
- REM
此時,bat檔案的全部代碼如下:
[plain] view plaincopyprint?
- @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指令碼來後台執行該指令碼,指令碼內容為:
[vb] view plaincopyprint?
- set ws=WScript.CreateObject("WScript.Shell")
- ws.Run "C:\abc\script.bat /start",0
然後將該檔案儲存為script.vbs,放入“開始 --> 所有程式 --> 啟動”內即可。