第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何為 Golang 程序配置服務(wù)守護(hù)程序文件

如何為 Golang 程序配置服務(wù)守護(hù)程序文件

Go
阿波羅的戰(zhàn)車(chē) 2022-05-23 17:56:00
這是 php 的服務(wù)文件,它運(yùn)行良好[Unit][Service]ExecStart=/usr/bin/env php /path/to/server.php[Install]這個(gè)是給python的[單元][Service]ExecStart=/usr/bin/python3 /path/to/server.py[Install]當(dāng)我為 Golang 嘗試這個(gè)時(shí)它不起作用,有什么問(wèn)題?[Unit][Service]ExecStart=/usr/bin/go /path/to/server.goEnvironment=GOPATH="/home/test/go"[Install]
查看完整描述

2 回答

?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

在嘗試whereis go 了 Golang 的 conf 文件的每一個(gè)輸出之后,它就起作用了:

ExecStart=/usr/local/go/bin/go run /home/testbed/Desktop/test/test.go


查看完整回答
反對(duì) 回復(fù) 2022-05-23
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

Python 和 PHP 是解釋型語(yǔ)言,這意味著它們需要通過(guò)名為解釋器的程序運(yùn)行(對(duì)于 PHP that's/usr/bin/php和對(duì)于 Python /usr/bin/python),它獲取源代碼(您的.php.py文件)并解釋它(將源代碼翻譯成計(jì)算機(jī)在運(yùn)行時(shí)可以理解的機(jī)器代碼) . 因此,任何想要運(yùn)行您的程序的人都需要:

  1. 你的程序(源代碼.py文件)

  2. 您使用的任何庫(kù)

  3. 口譯員

Golang 不是那樣的,它是編譯語(yǔ)言(如 C 或 C++)。在編譯語(yǔ)言的情況下,您有一個(gè)稱(chēng)為編譯器的程序,它獲取源代碼(您的.go文件)并生成(編譯)任何同類(lèi)計(jì)算機(jī)(具有相同或兼容的 CPU、操作系統(tǒng)等)直接理解的二進(jìn)制文件,而不需要任何解釋器或編譯器。在大多數(shù)情況下,在 Golang 中,您使用的所有庫(kù)也都編譯到該二進(jìn)制文件中,這對(duì)用戶(hù)來(lái)說(shuō)非常方便和容易。

在 Golang 中,而不是使用go run命令,它是編譯和執(zhí)行一次的快捷方式。您想完成編碼,然后使用go build命令將程序編譯為可執(zhí)行形式(在 Windows 上是.exe文件,在 Linux 上是二進(jìn)制 - 沒(méi)有擴(kuò)展名的可執(zhí)行文件),然后從服務(wù)文件中執(zhí)行。

假設(shè)您的代碼文件是server.go

  1. go build -o server server.go將編譯您的源代碼并生成名為 server 的可執(zhí)行文件(我們強(qiáng)制命令通過(guò)添加go build來(lái)命名它)server-o server

  2. 您可以./server根據(jù)需要運(yùn)行多次。

  3. 如果您需要更新代碼,那么您還需要重新運(yùn)行go build -o server server.go,這將生成更新的二進(jìn)制文件。這與 PHP 或 Python 略有不同(因此請(qǐng)注意這一點(diǎn))。

然后您只需更新您的服務(wù)文件(請(qǐng)參閱go根本不需要):

[Service]
    ExecStart=/path/to/server
    [Install]

從服務(wù)文件編譯代碼并不是一個(gè)好主意,因?yàn)樗枰谶\(yùn)行程序的機(jī)器上安裝 go。同樣在 Golang 程序中,經(jīng)常從 Github 中提取庫(kù),如果有人更改庫(kù),因此您的程序不再編譯,服務(wù)將無(wú)法運(yùn)行。


查看完整回答
反對(duì) 回復(fù) 2022-05-23
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)