Zum Inhalt springen

bitcoin-qt.exe mittels Script sauber beenden


Empfohlene Beiträge

Da die Forensuche und auch eine intensive Google-Suche erstaunlicherweise zu dem Thema nichts brauchbares auswirft, eröffne ich zu obigem ein neues Thema.
 
Gegeben ist:
 
- Windows 10 Pro 64 Bit
- Bitcoin Core Version v0.13.0 (64-Bit)
 
Gesucht ist:
 
- ein Script-Befehl oder eine Script-Befehlskette in einer unter Windows vorhandenen/aufrufbaren Scriptsprache, der bzw. die die bitcoin-qt.exe sauber beendet, anstatt diese einfach abzuschießen, weil letzteres eine stunden- bis tagelange Neuvalidierung auslösen kann.
 
Hat jemand Ideen oder Lösungsvorschläge oder wendet das sogar bereits an?
 
Falls das Thema hier falsch eingetütet sein sollte, bitte ich um Entschuldigung und entsprechende Verschiebung, ich bin hier neu und der Bereich "Technik, Entwicklung & Sicherheit" scheint mir der passende.

 

Danke vorab.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitcoin-qt ist die GUI-Variante von bitcoind, also mit grafischen Interface. Bitcoind ist "kopflos" und beendet man mit -stop.
 
Da ja beide Programme kompatibel sind, zu mindestens mal waren, probiere einfach mal. (ohne Garantie)
 
Bitcoin-qt.exe -stop in der CMD.
 
Sollte er das nicht mögen, weil er als Single läuft, starte Bitcoin-qt vorher mit der Server-Option, also
 
Bitcoin-qt.exe -Server

 

(RCP user und password nicht vergessen.)

 

Axiom

Bearbeitet von Axiom0815
Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für den Vorschlag - er funktioniert nicht. Das Ergebnis sieht dann so aus:

 

http://viehrig.net/wp-content/uploads/SonstigeBilder/ExternVerlinkt/BitcoinCoreFehlermeldung.png

 

Windows versucht also, das bereits laufende Programm nochmals zu öffnen, woraufhin Bitcoin Core eine Fehlermeldung ausgibt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, ich habe es mal selbst gemacht. ;)

 

   0. nichts läuft

 

   1. bitcoin-qt.exe -Server

 

   2. bitcoin-cli -rpcuser=name -rpcpassword=123 getinfo
     ...paar Infos kommen... optional, kann man auslassen

 

   3. bitcoin-cli -rpcuser=name -rpcpassword=123 stop
     Bitcoin server stopping

 

 

Gruß Axiom

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank!
 
Noch als Nachtrag für andere: Die Parameter -rpcuser und -rpcpassword sind nur erforderlich, sofern diese mal angelegt wurden. In allen anderen Fällen genügt es, bitcoin-qt.exe mit dem Parameter -Server zu starten, was man über die Aufgabenplanung automatisieren kann. Achtung: Der Start dauert manchmal einige Zeit*, weil bei einem minimierten Start die Blöcke im Hintergrund verifiziert werden und das Symbol auf der Taskleiste (sofern dieses in den Einstellungen von Bitcoin Core und Windows überhaupt aktiviert ist) erst sichtbar wird, wenn dieser Vorgang abgeschlossen ist. Anschließend kann das Programm mittels einer Bat-Datei beendet werden, die beispielsweise (die Programmpfade können natürlich abweichen - bitte prüfen!) so aussieht:
 

start /wait C:\Bitcoin\daemon\bitcoin-cli stop

:search
tasklist | find "bitcoin-qt.exe"
IF ERRORLEVEL = 1 (GOTO found)
TIMEOUT /T 1
GOTO search

:found

start C:\Windows\System32\shutdown.exe /f /s /t 20

 
Eine Verknüpfung davon beispielsweise in die Task-Leiste oder (sofern aktiviert) in Quick-Launch beendet Bitcoin Core sauber, wartet also, bis das Programm normal beendet wurde, und fährt anschließend den Rechner herunter und schießt alles andere ab, was dabei womöglich stören könnte.
 
Vielen Dank nochmals,

@Axiom0815

auf den Parameter -Server und auf bitcoin-cli wäre ich niemals gekommen. :)

 

*Soeben mal gemessen: 19 Minuten bei einer langsam rotierenden (5400rpm) Festplatte. Die Startzeit des Programms verlängert und die Lesevorgänge auf der Festplatte erhöhen sich mit diesem Vorgehen erheblich. Dafür werden Abläufe deutlich vereinfacht und sicherer. Man sollte individuell abwägen, was schwerer wiegt. Es hängt auch vom Naturell ab: Tendenziell Vergeßliche (ich z.B.) nehmen besser die automatisierte Variante, Blitz- und Allesmerker eher die, welche die Hardware schont.

Bearbeitet von Peter Viehrig
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Christoph Bergmann

 

Das ist eine berechtigte Frage, die ich leider nicht beantworten kann. Tatsache ist aber, daß der saubere Shutdown über ein Script nur funktioniert, wenn bitcoin-qt.exe mit diesem Parameter gestartet wurde. Andernfalls funktioniert das nicht. Keine Ahnung, wieso. "Nerdigere" Entwickler als die des Bitcoin Core hatte ich kaum irgendwo vermutet, aber das war wohl eine Fehleinschätzung meinerseits. Google wirft nichts aus zu dem Thema, jedenfalls nichts passendes.

Bearbeitet von Peter Viehrig
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hiermit schaltet man RPC an, also JSON-RPC Kommandos akzeptiert werden.

RPC (Remote Process Control) ist mächtig und ich rate jedem, dann auch RPC mit einen Passwort abzusichern!

 

Axiom

 

PS: Remote = Fernzugriff

 

 

Ah, wenn man RPC ohne --server benutzt, funktioniert es nur lokal? (zumindest funktioniert es bei mir ohne --server ...)

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Christoph Bergmann

 

Das ist eine berechtigte Frage, die ich leider nicht beantworten kann. Tatsache ist aber, daß der saubere Shutdown über ein Script nur funktioniert, wenn bitcoin-qt.exe mit diesem Parameter gestartet wurde. Andernfalls funktioniert das nicht. Keine Ahnung, wieso. "Nerdigere" Entwickler als die des Bitcoin Core hatte ich kaum irgendwo vermutet, aber das war wohl eine Fehleinschätzung meinerseits. Google wirft nichts aus zu dem Thema, jedenfalls nichts passendes.

 

Hi, hinter meiner Frage stand eher die Neugier, was ihr mit Bitcoin macht ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.