- Wenn Bitcoind von einem systemd-Dienst ausgeführt wird, wie in https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service , welche Rolle spielt das Flag -daemon?
Grundsätzlich frage ich, was -daemon in einer Situation tut, in der Bitcoind ist Als Dienst und nicht als Brieftasche ausführen. Und was passiert, wenn -daemon nicht verwendet wird -> in einer systemd-Dienstdatei.
- Wenn man in Bitcoin daemon = 1 setzt .conf, ist es redundant, beim Starten von
Antwort
Wenn Sie bitcoind von einem systemd-Dienst ausführen, wie in https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service , was ist das? Rolle des Flag -daemon?
-daemon
startet bitcoind im Hintergrund als Daemon Führen Sie bitcoind -daemon
im Terminal aus. Das Programm wird sofort beendet, aber Bitcoind wird noch ausgeführt im Hintergrund. Ohne -daemon
sehen Sie, dass Bitcoind im Terminal zu hängen scheint, aber das bedeutet nur, dass es ausgeführt wird. Wenn Sie den Befehl stoppen, wird auch bitcoind gestoppt.
Wenn man in bitcoin.conf daemon = 1 setzt, ist es redundant, auch das zu verwenden -daemon Flag beim Starten
Ja. Dies gilt für alle Befehlszeilenoptionen.
Kommentare
- Ja, ich sehe, dass das Terminal ' besetzt ' oder ' hängt ', wenn die Daemon-Einstellung deaktiviert ist. Bei meiner Frage ging es jedoch nicht darum, den Daemon im Terminal zu starten, sondern in einem systemd-Dienst. Was ist in diesem Fall die Folge, wenn Sie mit aktivierter Daemon-Einstellung ausgeführt werden oder stattdessen Type = simple ausführen und kein Daemon den Job auch korrekt ausführt?
- Wie ich in Ihrer anderen Frage dazu erläutert habe, können Sie dies nicht Verwenden Sie Type = simple ohne -daemon. Systemd funktioniert damit nicht.
- In der anderen Frage zu Forking vs Simple haben Sie sich gegen die Verwendung von Type = simple zusammen mit daemon = 1 ausgesprochen. In meinem obigen Kommentar habe ich nach Type = simple zusammen mit daemon = 0 gefragt.
- Ich verstehe. Es gibt keinen Unterschied zwischen der Verwendung von Type = simple und daemon = 0 und der Verwendung von Type = forking und daemon = 1.
- Nach meiner Erfahrung
Type=simple
unddaemon=1
in der btc conf-Datei führt zu einem Daemon-Shotdown unmittelbar nach dem Start mitsystemctl start
Antwort
Ich denke, hier wäre es hilfreich, die Hierarchie der Funktionsweise von Software zu verstehen. Sie interagieren mit der Software Bitcoin Core. Während Sie entweder eine GUI-Brieftasche und Netzwerkstatistiken oder eine Interaktion mit der Bitcoin-CLI erleben, tritt in Ihrem Betriebssystem Bitcoind auf, die Bitcoin daemon
. Im Rahmen dieses Szenarios ist es das grundlegende Element Ihres Bitcoin-Knotens oder Ihrer Brieftasche.
Wikipedia stellt Daemons gut vor:
Ein Daemon (/ ˈdiːmən / oder / ˈdeɪmən /) [1] ist ein Computerprogramm, das als Hintergrundprozess ausgeführt wird und nicht direkt von einem interaktiven Benutzer gesteuert wird.
Gruselig. Insbesondere in Unix-Systemen ist es ein Daemon, wenn
der Prozess über die Befehlszeile oder gestartet wird aus einem Startskript wie einem Init-Skript
Das Init-Skript ist in diesem Fall das Bitcoin. conf-Datei. Wenn der Dämon initiiert wird, wird er im Hintergrund ausgeführt. Alle Kernprozesse, die zum Ausführen des zugrunde liegenden Codes und zur Verwendung einer GUI und einer Befehlszeile erforderlich sind, sind im Hintergrund aktiv.
Für jede Interaktion mit der Software muss der Dämon ausgeführt werden. Wenn dies noch nicht geschehen ist, wird er gestartet. Nach der Ausführung können Sie die Datei bitcoin.conf oder die Variablen dynamisch über die Befehlszeile ändern, wie Sie es während Ihrer Sitzung für richtig halten.
Wenn Sie fertig sind, in welchem Zustand sich die Datei bitcoin.conf wann befindet Der Start des Computers oder Daemons bestimmt das Verhalten.
Wenn Bitcoin immer im Hintergrund ausgeführt werden soll, stellen Sie sicher, dass die Konfigurationsdatei den Daemon beim Start ausführt oder dass Sie ihn selbst starten, wenn dies nicht der Fall ist Es ist überflüssig, beides zu tun.