Ubuntu, как добавить deamon для запуска

У меня есть Ubuntu 18.04

Мне установили узел биткоинов на моей Ubuntu. Обычно я запускаю его с этой команды:

/home/user1/bitcoinz/src/bitcoinzd -datadir=/home/user1/bitcoinz/data > /dev/null 2> /dev/null &

Я запускаю его как user1, не как корень. Как добавить запуск этого deamon в начале сервера? Чтобы сделать это, я могу использовать команду sudo update-rc.d xxx defaults, но как добавить параметры и работающий как user1?

1
задан 29 February 2020 в 05:26

1 ответ

Вы могли запустить свою команду с помощью крона.

  • Открытый терминал
  • Выполненный crontab -e к команде выполнения как user1
  • Добавьте в конец:

    * * * * * /bin/date >> /home/user1/mydate
    

чтобы проверить, появляется ли/home/user1/mydate файл и Вы видели его содержание

  • Создать ~/scripts папка: mkdir ~/scripts
  • Добавьте свою команду к /home/user1/scripts/bitcoinz сценарий: vim.tiny ~/scripts/bitcoinz (совершите нападки i для редактирования),

    #!/bin/sh
    /home/user1/bitcoinz/src/bitcoinzd -datadir=/home/user1/bitcoinz/data > /dev/null 2> /dev/null &
    

Сохраните и выйдите (Для vim.tiny: ESC для выхода из eiditing режима, затем :wq сохранить и выйти)

  • Сделайте исполняемый файл сценария: chmod +x ~/scripts/bitcoinz
  • Выполненный crontab -e и добавьте в конец: @reboot/home/user1/scripts/bitcoinz

Вы могли установить параметры в сценарии. Вы могли также работать cron как пользователь root, использующий sudo crontab -e, таким образом, это могло запуститься как корень после перезагрузки.

Для создания сервиса как, Вы сказали в заголовке, сделайте следующее:

  • Создайте новый systemd сервис:

    sudo vim.tiny /lib/systemd/system/bitcoinz.service
    sudo ln -s /lib/systemd/system/bitcoinz.service /etc/systemd/system/
    

    Вставьте рядом с ним:

    [Unit]
    Description=Start bitcoinz
    After=suspend.target
    
    [Service]
    Type=simple
    ExecStart=/home/user1/scripts/bitcoinz
    RestartSec=10s
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  • Включите и запустите недавно созданный сервис:

    sudo systemctl enable bitcoinz && sudo systemctl start bitcoinz
    

Работать с сервисом как пользователь:

  • Создайте каталог mkdir -p ~/.config/systemd/user
  • Создайте ubitcoinz.service файл там: touch ~/.config/systemd/user/ubitcoinz.service
  • Отредактируйте его и добавьте там записи как в предыдущем файле
  • Использовать --user опция работать с ним

    systemctl --user daemon-reload
    systemctl --user enable ubitcoinz
    systemctl --user start ubitcoinz
    
  • Вывод команды биткоинов мог быть просмотрен с помощью journalctl -u ubitcoinz

  • Для запуска пользовательского сервиса, не только если пользователь входит в систему, но при начальной загрузке:

    loginctl enable-linger user1
    
  • Состояние Check: loginctl user-status user1

Ссылка

1
ответ дан 17 March 2020 в 00:12

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

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