Go-Ethereum

如何在 Ubuntu 上將 go-ethereum 作為守護程序執行?

  • July 26, 2021

Ubuntu的安裝說明建議geth從命令行執行,如何在 Ubuntu 上將其作為守護程序/服務執行?

作為 systemd 服務執行

創建一個文件geth.service

[Unit]
Description=Ethereum go client

[Service]
Type=simple
ExecStart=geth 2>%h/.ethereum/geth.log

[Install]
WantedBy=default.target

啟用服務:

systemctl --user enable geth.service
systemctl --user start geth.service

來源

或者,您可以使用螢幕:

sudo apt-get update && sudo apt-get install screen -y

然後你可以做一個類似這樣的 bash ( ~/geth.sh):

#!/usr/bin/env bash
echo "Starting geth"
screen -dmS geth /usr/bin/geth --verbosity 3

現在讓我們讓它可執行:

sudo chmod +x ~/geth.sh

您現在可以執行 bash~/geth.sh

您使用 screen -x geth 附加到螢幕

您可以通過按 CTRL + a 然後 d 從螢幕上分離

如果要在程序在後台(或螢幕)執行後附加到 geth 控制台,可以使用:

geth attach

來源

或者只是在後台分叉它:

啟動 geht 時,&在終端中的命令末尾添加 a:

geth --rpc &

在關閉終端之前,您應該否認該過程:

disown

您還可以將日誌通過管道傳輸到這樣的文件:

geth --verbosity 4 --rpc 2>> /path/to/logfile

但是在關閉終端之前不要忘記否認它。

來源

引用自:https://ethereum.stackexchange.com/questions/366