EDIT: Caveat emptor on Ubuntu distributions from 14.10 and forward - init
was chosen over upstart
and is being phased in the future. I don't know when that will be done nor what impact it will have on upstart scripts.
Extract from the page RentFree refers to; note that it assumes that you have created a user called bitcoinuser
for the sake of security:
For those running ubuntu, you may be familiar with upstart, a replacement for
sysvinit
style booting (/etc/init.d/*
).
Configuration files for upstart are stored under
/etc/init/*.conf
. I've written the following one for bitcoind:
description "bitcoind" start on filesystem stop on runlevel [!2345] oom score -500 expect fork respawn respawn limit 10 60 # 10 times in 60 seconds script user=bitcoinuser home=/home/$user cmd=$home/bin/bitcoind pidfile=$home/bitcoind.pid # Don't change anything below here unless you know what you're doing [[ -e $pidfile && ! -d "/proc/$(cat $pidfile)" ]] && rm $pidfile [[ -e $pidfile && "$(cat /proc/$(cat $pidfile)/cmdline)" != $cmd* ]] && rm $pidfile exec start-stop-daemon --start -c $user --chdir $home --pidfile $pidfile --startas $cmd -b -m end script
Put the above configuration in
/etc/init/bitcoind.conf
, then runsudo initctl reload-configuration
. To startbitcoind
, runsudo start bitcoind
. To stopbitcoind
, runsudo stop bitcoind
.
You'll probably want to change the user, cmd and pidfile to something that matches your configuration, or you can use the following as a template:
/home/bitcoinuser /home/bitcoinuser/bitcoind.pid /home/bitcoinuser/bin/bitcoind
Though one user suggests the following correction to the configuration:
home=/home/$user cmd=/usr/bin/bitcoind pidfile=$home/.bitcoin/bitcoind.pid
and another suggests setting nice
for the process so it doesn't hog the CPU
exec start-stop-daemon --start -c $user --chdir $home --pidfile $pidfile --startas $cmd -b --nicelevel 15 -m