Я пытаюсь запустить /usr/bin/bitcoind
при загрузке, но безуспешно.
У меня есть этот скрипт на /etc/init/bitcoind.conf
description "bitcoind"
start on filesystem
stop on runlevel [!2345]
oom never
expect daemon
respawn
respawn limit 10 60 # 10 times in 60 seconds
script
user=andre
home=/home/$user
cmd=/usr/bin/bitcoind
pidfile=$home/.bitcoin/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 --starta $cmd -b -m
end script
После создания этого скрипта я запустил команду: sudo initctl reload-configuration
Когда я перезапускаю Ubuntu, «биткойн» не Начните. Я могу только запустить "bitcoind", выполнив вручную команду:
sudo start bitcoind
Есть какие-нибудь подсказки о том, как запустить "bitcoind" при загрузке?
Итак, я наконец-то начал работать на сервере Ubuntu 14.04. Вот как выглядит окончательная рабочая /etc/init/bitcoind.conf
:
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=bitcoind
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 -m --startas $cmd
end script
В основном это была большая работа по угадыванию и проверке, чтобы получить эту работу. Вот важный бит:
expect fork
По сути, это говорит выскочку, сколько раз целевой процесс будет разветвлен при запуске. Если вы скажете это неправильно, он будет зависать при запуске. Прочитайте здесь для подробностей об этом.
Еще одно, небольшое изменение:
oom score -500
Вместо:
oom never
Не такое критическое изменение, но после прочтения о выскочке немного и от просмотра предложения в Ответ stackoverflow, oom never
почти никогда не должен использоваться. См. здесь для получения дополнительной информации.
Это то, что я сделал.
Проверьте файл /etc/rc.local с помощью cat /etc/rc.local
. Вы увидите что-то вроде этого
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
Затем просто добавьте эту строку
bitcoind -daemon
Вы можете выполнить биткойн с опциями -datadir = / path / to / data или -conf = / path / to / bitcoin.conf , если вам нужно это.