43

Surprised this one hasn't been asked yet.

But how / what is the recommended best practice for shutting down bitcoind ?

Right now I'm manually killing the process with either sudo kill {pid} or if this is failing (like just now) using sudo pkill -9 -f bitcoind

ManreeRist
  • 907
  • 2
  • 8
  • 12

7 Answers7

76

I'm not sure if bitcoind stop still works as RPC with newer releases, since somewhere in help sections it says RPC funcionality removed from bitcoind.

Try bitcoin-cli stop.

Aliakbar Ahmadi
  • 1,659
  • 1
  • 12
  • 23
  • 6
    Confirmed bitcoin-cli stop works in version 11. – Jonathan Cross Sep 17 '15 at 12:42
  • 2
    Still works in 2017! Use this. – iaforek Oct 23 '17 at 08:14
  • does not work... I did ./xxxcoin-cli stop but nothing happen after that and ./xxxcoind also does not stopped. – creator Feb 21 '18 at 12:29
  • 1
    Yes, it still works. – Ken Sharp Aug 01 '18 at 23:17
  • Does not work with my setup. I think first of all to be able to use bitcoin-cli you have to start bitcoind with option server=1. I did this and still bitcoin-cli getinfo is returning an error. So I suspect bitcoin-cli does not work properly. I have a process in top that is called bitcoin-init. I am not sure if this is the right process that should be active after I started bitcoind or if this some sort of initialisation process and since it uses 100% of my Raspberry CPU it might as well hang and this might be the root of the problem. I appreciate any input. – bomben Aug 28 '19 at 10:18
  • Try sudo bitcoin-cli stop if that throws an error about RPC credentials – Tamás Sengel Feb 08 '23 at 07:06
17

EDIT: This answer is deprecated, it applied to an old version of the bitcoind client. Apparently RPC functionality is now removed. Please look at the other answers instead.

I guess using bitcoind stop. I recommend this approach as killing the process could end you up with a corrupted database, from what I have experienced. Use bitcoind --help for all options and bitcoind help for all JSON-RPC commands.

Jori
  • 1,580
  • 10
  • 15
  • Good thinking. Missed that. – ManreeRist Oct 11 '13 at 19:11
  • 12
    This doesn't work anymore: Error: Command line contains unexpected token 'stop', see bitcoind -h for a list of options.. The correct way to stop bitcoind is bitcoin-cli-stop command (see the other answer with higher vote count). – iaforek Oct 23 '17 at 08:10
  • 3
    The correct way, as shown by Aliakbar Ahmadi and confirmed by Jonathan Cross is bitcoin-cli stop. Note the last space as opposed to a hyphen. – BlackBeltBob Apr 17 '20 at 18:44
9

if you started it using 'bitcoind -daemon' and you are using version 10 or above, then use 'bitcoin-cli stop'

Sean Bradley
  • 401
  • 4
  • 5
  • Does not work for me. What could be the reason? Does the daemon need to be started as a server? Is bitcoin-init an initialisation process to bitcoind? Because that is my process in top. – bomben Aug 28 '19 at 10:22
3

In my case, It works that ./bitcoin-cli -regtest stop

Mike Min
  • 31
  • 2
2

Make sure you specify the same options that you normally use when running bitcoin, for example, if you use a different datadir:

cd C:\Program Files\Bitcoin\daemon
bitcoin-cli -datadir=C:\Bitcoin stop
Frank Forte
  • 121
  • 2
1

This worked for me:

bitcoin-cli -rpcuser=[username] -rpcpassword=[password] -rpcconnect=[ip] stop

dikukid
  • 11
  • 1
0

If using testnet, try ./bitcoin-cli -testnet stop

liaoming
  • 11
  • 1
  • 1
    ./bitcoin-cli stop is enough – 0xb10c Aug 03 '18 at 08:51
  • 1
    I don't know why this correct and the only working answer when on testnet was down-voted. ./bitcoin-cli stop is definitely not enough when running 0.18rc on testnet. – Tony Mar 14 '19 at 05:30
  • 2
    It's only enough if you specifically added testnet=1 to your bitcoin.conf. Otherwise the default is for mainnet! – karimkorun Jan 16 '20 at 16:49