Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: служба systemd - постоянно крашится\ребутится  (Прочитано 597 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pl84

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
создал файл для запуска:

start.sh
(Нажмите, чтобы показать/скрыть)

создал скрипт css.service и положил его в /etc/systemd/system$:

css.service
(Нажмите, чтобы показать/скрыть)
перечитал конфигурацию systemd:
systemctl daemon-reload
посмотрел статус:
systemctl status css
включил сервис:
systemctl enable css
запустил сервис:
systemctl start css
смотрю еще раз статус, почему-то состояние: Loaded: loaded, activating (start) - это правильно?:

статус службы:
(Нажмите, чтобы показать/скрыть)

через несколько минут, служба падает и рестартится заново.... почему так?
и почему он мне пишет: "Warning: css.service changed on disk. Run 'systemctl daemon-reload' to reload units.", systemctl daemon-reload я выполнял, все нормально проходит.
если запускать просто скрипт start.sh - никаких проблем нет, ничего не падает и все работает отлично, программа не падает.

вывод ошибки:
(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 07 Декабрь 2016, 08:26:07:
вывод команды journalctl -u css

(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 07 Декабрь 2016, 09:23:51:
нашел проблему......


оказывается Type=simple, а не Type=forking, т.к. systemd завершает первоначальный процесс (как раз падает в этот момент сервак игровой) и подразумевается, что процесс уже начал разветвляться!!!
статус службы теперь:  Active: active (running)



Пользователь добавил сообщение 07 Декабрь 2016, 09:26:41:
помогите с вопросом:
при запуске я указываю PIDfile, а он должен кем создаваться? и как этот механизм работает?

если я в start.sh не указываю параметр -pidfile, то он там не создается, а если указываю, то он создается и удаляется после завершения службы.... каким образом осуществляется процесс контроля над службой? пробовал удалять этот pid файл и ничего не произошло.
« Последнее редактирование: 07 Декабрь 2016, 11:22:05 от pl84 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26091
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #1 : 07 Декабрь 2016, 17:16:20 »
Откажитесь от скрипта. Запускайте сервер напрямую. И правильно укажите пользователя, от которого запускать сервер.
pidfile не нужен.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн pl84

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #2 : 08 Декабрь 2016, 08:19:19 »
Откажитесь от скрипта. Запускайте сервер напрямую. И правильно укажите пользователя, от которого запускать сервер.
pidfile не нужен.

1. от скрипта отказался, чтобы не плодить лишние файлы и ссылки на них,
2. почему PID не нужен? сейчас при запуске он создается, ссылка на него в css.service есть, пробую его удалить, он удаляется, но служба продолжает работать...

подскажите как работает контроль службы по pid файлу...

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11895
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #3 : 08 Декабрь 2016, 10:31:35 »
подскажите как работает контроль службы по pid файлу...
Ровно так как вы напишите.

Обычно pid файл используют для предотвращения повторного запуска сервиса который не умеет работать в нескольких экземплярах. Контроль за этим осуществляют скрипты запуска и останова сервиса.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн pl84

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #4 : 08 Декабрь 2016, 11:35:49 »
Ровно так как вы напишите.

Обычно pid файл используют для предотвращения повторного запуска сервиса который не умеет работать в нескольких экземплярах. Контроль за этим осуществляют скрипты запуска и останова сервиса.

ясно, тогда вопрос такой:

моя служба стартует с системой после запуска сетевой службы, указан путь к пиду, т.е. я не смогу повторно запустить свою службу, потому что пид файл есть (он работает как маркер, что уже запущено)... а вот если сама служба упадет к примеру из-за ошибке в коде своей, пид удалится? и служба попробует перезапуститься по новой? как systemd узнает, что служба упала и её надо повторно запустить?

вот мой сервис:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 08 Декабрь 2016, 11:38:45 от pl84 »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11895
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #5 : 08 Декабрь 2016, 11:37:14 »
Так systemd для того и сделана что бы следить за такими вещами.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн pl84

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #6 : 08 Декабрь 2016, 11:43:17 »
Так systemd для того и сделана что бы следить за такими вещами.


т.е. systemd сама своими механизмами следит за этим новым сервисом и меня это не должно волновать?
мне надо только выставить парамерт Restart= в соответствии с потребностью перезапускать этот сервис?

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11895
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #7 : 08 Декабрь 2016, 11:48:33 »
да
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн pl84

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: служба systemd - постоянно крашится\ребутится
« Ответ #8 : 08 Декабрь 2016, 14:16:09 »
большое спасибо за ответы

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.