Как запустить / usr / bin / bitcoind при загрузке?

Я пытаюсь запустить /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" при загрузке?

0
задан 26 July 2015 в 19:39

2 ответа

Итак, я наконец-то начал работать на сервере 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 почти никогда не должен использоваться. См. здесь для получения дополнительной информации.

0
ответ дан 26 July 2015 в 19:39

Это то, что я сделал.

Проверьте файл /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 , если вам нужно это.

0
ответ дан 26 July 2015 в 19:39

Другие вопросы по тегам:

Похожие вопросы: