- Ao executar bitcoind a partir de um serviço systemd, como em https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service , qual é o papel do sinalizador -daemon?
Basicamente, estou perguntando o que o -daemon faz em uma situação onde o bitcoind está executado como serviço, não como uma carteira. E o que acontece se -daemon não for usado -> em um arquivo de serviço systemd.
- Se alguém definir daemon = 1 em bitcoin .conf, é redundante também usar o sinalizador -daemon ao iniciar
Resposta
Ao executar o bitcoind de um serviço systemd, como em https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service , o que é papel do sinalizador -daemon?
-daemon
inicia o bitcoind em segundo plano como um daemon. Então, se você execute bitcoind -daemon
no terminal, o programa sairá imediatamente, mas o bitcoind ainda está em execução no fundo. Sem -daemon
, você verá que o bitcoind parece travar no terminal, mas isso significa apenas que está em execução. Se você parar o comando, o bitcoind também parará.
Se alguém definir daemon = 1 no bitcoin.conf, é redundante usar também o -daemon sinalizador ao iniciar
Sim. Isso se aplica a todas as opções de linha de comando.
Comentários
Resposta
Acho que entender a hierarquia de como o software funciona seria útil aqui. Você está interagindo com o software Bitcoin Core. Enquanto você está experimentando uma carteira GUI e estatísticas de rede ou interagindo com o bitcoin-cli, seu sistema operacional está experimentando o bitcoind, o bitcoin daemon
. É – no escopo deste cenário – a peça fundamental de seu nó de bitcoin ou carteira.
A Wikipedia apresenta Daemons muito bem:
um daemon (/ ˈdiːmən / ou / ˈdeɪmən /) [1] é um programa de computador executado em segundo plano, em vez de estar sob o controle direto de um usuário interativo
Assustador. Em sistemas Unix especificamente, é um daemon se
o processo for iniciado a partir da linha de comando ou de um script de inicialização, como um script init
O script init neste caso é o bitcoin. arquivo conf. Se ele iniciar o daemon, estará executando em segundo plano. Todos os processos principais necessários para executar o código subjacente e para uma GUI e linha de comando a serem usados em cima disso estão ativos, silenciosamente.
Qualquer interação que você tenha com o software requer que o daemon esteja em execução. Se ainda não estiver, ele o iniciará. Uma vez executado, você pode alterar o arquivo bitcoin.conf ou as variáveis dinamicamente por meio da linha de comando conforme achar adequado durante a sua sessão.
Então, quando terminar, qualquer estado do arquivo bitcoin.conf quando o computador ou daemon inicial determinará seu comportamento.
Se você quiser que o bitcoin sempre seja executado em segundo plano, certifique-se de que o arquivo de configuração execute o daemon na inicialização ou que você mesmo o inicie, se não for em execução. É redundante fazer ambos.
Type=simple
edaemon=1
no arquivo conf btc, faz o daemon disparado logo após iniciar comsystemctl start