亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go打包二進制文件的實現(xiàn)

 更新時間:2020年03月11日 08:49:46   作者:趙栩彬  
這篇文章主要介紹了Go打包二進制文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

眾所周知,go語言可打包成目標平臺二進制文件是其一大優(yōu)勢,如此go項目在服務(wù)器不需要配置go環(huán)境和依賴就可跑起來。

操作

需求:打包部署到centos7
筆者打包環(huán)境:mac os
方法:進入main.go所在目錄,輸入如下命令,當前目錄便會生成main的可執(zhí)行文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

Windows平臺打包到Linux執(zhí)行不一樣,需要輸入如下命令

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build
  • CGO_ENABLED 表示不使用cgo
  • GOOS 表示目標平臺系統(tǒng)(Windows,linux,darwin「mac os」等等)
  • GOARCH 表示目標系統(tǒng)架構(gòu)(arm arm64 386 amd64 等等)

打包完成后,將二進制文件放到服務(wù)器系統(tǒng),賦可執(zhí)行權(quán)限:

chmod 773 main

直接運行即可:

./main

或后臺執(zhí)行:

nohup ./main 1>info.log 2>&1 &

linux 后臺運行程序

一般為了程序后臺運行,我們需要使用nohup命令.
此時需要對程序運行時所產(chǎn)生的輸出信息記錄,因此就需要使用linux的信息輸出命令

一個例子

比如要讓redis-server程序后臺運行
1.非后臺運行:

$> ./redis-server

2.后臺運行:

$> nohup ./redis-server 1>/dev/null 2>&1 &
  • 其中數(shù)字1代表標準輸出,2代表錯誤信息輸出,還有未使用的標準輸入即數(shù)字0.
  • 1>/dev/null 2>&1 &的意思是標準信息輸出到空設(shè)備即不做任何處理,也不做任何顯示,/dev/null也可以替換為文本文件名(如 out.log),此時標準信息就會輸出到指定文件.
  • 2>&1表示錯誤信息輸出到標準輸出,即輸出同1>后面的位置,當然也可以直接指定新文件名(如 err.log).
  • 最后的& 表示程序后臺運行

上面的命令還可簡寫:

nohup ./redis-server >/dev/null 2>&1 &

即去掉標準輸出數(shù)字1

后臺運行一個程序

1.先用 netstat -tln 查看端口信息
2.isof -i:端口 可以找到程序進程號PID
3.kill PID 可以關(guān)閉程序

如此便是go打包到linux平臺的完整操作,歡迎大家指證。

到此這篇關(guān)于Go打包二進制文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)Go打包二進制文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Go語言中的空值(nil)與零值(zerovalue)區(qū)別詳解

    Go語言中的空值(nil)與零值(zerovalue)區(qū)別詳解

    在Go語言中,空值(nil)和零值(zero value)是兩個不同的概念,它們在語義、使用場景以及實際的編程實踐中有著明顯的區(qū)別,理解這兩者的差異對于編寫清晰、健壯的Go代碼至關(guān)重要,需要的朋友可以參考下
    2024-06-06
  • go原子級內(nèi)存操作實現(xiàn)

    go原子級內(nèi)存操作實現(xiàn)

    原子級內(nèi)存操作是在多線程并發(fā)執(zhí)行時,能夠確保某個內(nèi)存操作是不可中斷的操作,本文主要介紹了go原子級內(nèi)存操作實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • 詳解Go語言中關(guān)于包導入必學的 8 個知識點

    詳解Go語言中關(guān)于包導入必學的 8 個知識點

    這篇文章主要介紹了詳解Go語言中關(guān)于包導入必學的 8 個知識點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Go語言中如何實現(xiàn)并發(fā)

    Go語言中如何實現(xiàn)并發(fā)

    Go的并發(fā)機制通過協(xié)程和通道的簡單性和高效性,使得編寫并發(fā)代碼變得相對容易,這種并發(fā)模型被廣泛用于構(gòu)建高性能的網(wǎng)絡(luò)服務(wù)、并行處理任務(wù)和其他需要有效利用多核處理器的應用程序,這篇文章主要介紹了在Go中如何實現(xiàn)并發(fā),需要的朋友可以參考下
    2023-09-09
  • Go語言中常量定義方法實例分析

    Go語言中常量定義方法實例分析

    這篇文章主要介紹了Go語言中常量定義方法,以實例形式分析了Go語言中常量的定義及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • golang常用庫之字段參數(shù)驗證庫-validator使用詳解

    golang常用庫之字段參數(shù)驗證庫-validator使用詳解

    這篇文章主要介紹了golang常用庫:字段參數(shù)驗證庫-validator使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借價值,需要的朋友可以參考下
    2020-10-10
  • Go語言定時任務(wù)cron的設(shè)計與使用

    Go語言定時任務(wù)cron的設(shè)計與使用

    這篇文章主要為大家詳細介紹了Go語言中定時任務(wù)cron的設(shè)計與使用,文中的示例代碼講解詳細,對我們深入掌握Go語言有一定的幫助,需要的可以參考下
    2023-11-11
  • golang fmt格式“占位符”的實例用法詳解

    golang fmt格式“占位符”的實例用法詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于golang fmt格式“占位符”的實例用法詳解內(nèi)容,有興趣的朋友們可以學習下。
    2021-07-07
  • Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用

    Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用

    in框架內(nèi)部使用了高性能的路由器庫httprouter,支持動態(tài)參數(shù)匹配和簡潔的接口,本文主要介紹了Go語言web快速開發(fā)框架Gin的HttpRouter路由的使用,感興趣的可以了解一下
    2025-03-03
  • 淺談golang slice 切片原理

    淺談golang slice 切片原理

    這篇文章主要介紹了淺談golang slice 切片原理,詳細的介紹了golang slice 切片的概念和原理,具有一定的參考價值,有興趣的可以了解一下
    2017-11-11

最新評論