Go打包二進位制檔案的實現

2022-09-24 11:06:11 字數 1015 閱讀 5162

背景

眾所周知,go語言可打包成目標平台二進位制檔案是其一大優勢,如此go專案在伺服器不需要配置go環境和依賴就可跑起來。

操作需求:打包部署到centos7

筆者打包環境:mac os

方法:進入main.go所在目錄,輸入如下命令,當前目錄便會生成main的可執行檔案

cgo_enabled=0 goos=linux goarch=amd64 go build main.go

windows平台打包到linux執行不一樣,需要輸入如下命令

set cgo_enabled=0

set goos=ligcyipiybpmnux

set goarch=amd64

go build

程式設計客棧

打包完成後,將二進位制檔案放到伺服器系統,賦可執行許可權:

chmod 773 main

直接執行即可:

程式設計客棧

./main

或後台執行:

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

linux 後台執行程式

一般為了程式後台執行,我們需要使用nohup命令.

此時需要對程式執行時所產生的輸出資訊記錄,因此就需要使用linux的資訊輸出命令

乙個例子

比如要讓redis-server程式後台運gcyipiybpm行

1.非後台執行:

$> ./redis-server

2.後台執行:

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

上面的命令還可簡寫:

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

即去掉標準輸出數字1

後台執行乙個程式

1.先用 netstat -tln 檢視埠資訊

2.isof -i:埠 可以找到程式程序號pid

3.kill pid 可以關閉程式

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

二進位制檔案

本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...