Не удалось запуститься <myapp> .service: Единица <myapp> .service не найденный

Я создал супер основной init.d сценарий для своего бота Python:

#!/bin/bash
# chkconfig: 2345 20 80
# description: Description comes here....

# Source function library.
. /etc/init.d/functions

start() {
    echo "starting torbot"
    python /home/ctote/dev/slackbots/torbot/torbot.py
    # example: daemon program_name &
}

stop() {
    # code to stop app comes here
    # example: killproc program_name
}

case "$1" in
    start)
       start
       ;;
    stop)
       stop
       ;;
    restart)
       stop
       start
       ;;
    status)
       # code to check status of app comes here
       # example: status program_name
       ;;
    *)
       echo "Usage: $0 {start|stop|status|restart}"
esac

И установили torbot.py быть +x и #!/usr/local/bin/python наверху. Когда я пытаюсь на самом деле запустить его, хотя, я добираюсь:

:/var/lock/subsys$ sudo service torbot start Failed to start torbot.service: Unit torbot.service not found.

Я пропускаю что-то?

12
задан 8 March 2017 в 15:27

5 ответов

При использовании человечности 16.04 или более новые, можно хотеть рассмотреть документ systemd приблизительно сервисные файлы создания

, сценарий для старой init системы и управляется слоем совместимости с прежними системами.

4
ответ дан 23 November 2019 в 03:44

Для меня я использую Ubuntu 16.04.

, Во-первых изменяют функцию init

. /etc/init.d/functions

к

. /lib/lsb/init-functions

Затем в оболочке, создают символьные ссылки из/etc/rc* к моему сценарию:

sudo update-rc.d <myapp> defaults 95
2
ответ дан 23 November 2019 в 03:44

Вы имеете усталый что-то вроде этого? , Как я отлаживаю Новомодные сценарии?

можно ли обеспечить вывод, к которому обеспечивает это руководство так, чтобы мы могли помочь Вам потенциально отладить свою проблему?

0
ответ дан 23 November 2019 в 03:44

Хорошо, я попробовал некоторые шаги этот ответ stackoverflow (Запускающий новомодный скрипт на 17,04?) и они работали, Мой ENV следующие

  1. Ubuntu в 17,10
  2. У меня есть приложение Python на Gunicorn 19.x сервер, я должен запустить это приложение как услуга.

Во-первых необходимо записать foo.service файл.

[Unit] 
Description=FooServer 

[Service] 
Restart=on-failure
WorkingDirectory=/path/to/your/working/directory/where the foo lives
ExecStart=/what/process/will call foo eg: in my case I used gunicorn app:app
ExecReload=/bin/kill -HUP $MAINPID 
KillSignal=SIGINT 

[Install] 
WantedBy=multi-user.target

Значение каждого слова на левой стороне '=' знак и их эквивалент в (к ранее) выскочка находится в ссылке https://wiki.ubuntu.com/SystemdForUpstartUsers

После того как файл готов, скажем, Вы называете его как 'foo.service' (.service расширение важно),

Необходимо поместить файл в /lib/systemd/system

После которого необходимо включить сервис путем вызова

systemctl enable foo

Который предложит Вам, вводят Ваш пароль root, поскольку он будет создавать символьные ссылки.

Если Вы достигли, до здесь без любой стычки, Вы хороши. Ваш сервис следовательно создается, Запускаются, путем вызова

sudo service foo start

systemctl status foo видеть состояние sudo service foo stop остановить сервис

1
ответ дан 23 November 2019 в 03:44

У меня была та же проблема, это - решение, которое работало на меня. Попробуйте:

sudo systemctl перезагрузка демона

sudo systemctl включают daemon_app.service

sudo systemctl запускают daemon_app.service

0
ответ дан 23 November 2019 в 03:44

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

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