мы выполняем новомодное задание на человечности 14.04 в течение такого количества лет, теперь мы собираемся идти дальше к новой версии человечности как 16,04, Но я не могу создать то же задание в systemD.
description "evercam_media"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
limit nofile 1000000 1000000
respawn
chdir /
setuid root
setgid root
env HOME=/home/root
env LANG=en_US.UTF-8
env LANGUAGE=en_US:en
env LS_ALL=en_US.UTF-8
env ERL_MAX_PORTS=10240
env ERL_MAX_ETS_TABLES=5000
env PORT=4000
env MIX_ENV=prod
exec watch -n1 '/usr/local/bin/run_evercam_media.sh'
post-stop exec sudo pkill beam
при наблюдении работы немногих других людей я попробовал столько вещей, но Она не запускает мое приложение, любая справка будет очень цениться, спасибо, Извините за так меньше информации очень новое с этим видом fo материал.
Обновление:
[Unit]
Description=Runner for My Phoenix App
After=network.target
[Service]
WorkingDirectory=/etc/build/
EnvironmentFile=/etc/default/my_phoenix_app.env
ExecStart=/usr/local/bin/run_evercam_media.sh
ExecStop=sudp pkill beam
User=root
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Ваш сервис не имеет типа.
Одна из основных вещей, которые должны быть указаны в
[Service]
разделType=
из сервиса. Это категоризирует сервисы их процессом и daemonizing поведением. Это важно, потому что это говорит systemd, как правильно справиться с сервисом и узнать его состояние.
Type= directive
может быть одно из следующего:
simple
: Основной процесс сервиса указан в строке запуска. Это - значение по умолчанию еслиType=
иBusname=
директивы не установлены, ноExecStart=
установлен. Любая коммуникация должна быть обработана за пределами единицы через вторую единицу соответствующего типа (как через .socket единицу, если эта единица должна передать сокеты использования).
forking
: Этот сервисный тип используется, когда сервис разветвляет дочерний процесс, выйдя из родительского процесса почти сразу. Это говорит systemd, что процесс все еще работает даже при том, что родитель, из которого выходят.
oneshot
: Этот тип указывает, что процесс будет недолгим и что systemd должен ожидать процесса для выхода перед продвижением с другими единицами. Это - значение по умолчаниюType=
иExecStart=
не установлены. Это используется для одноразовых задач.
dbus
: Это указывает, что единица возьмет имя на шине D-шины. Когда это произойдет, systemd продолжит обрабатывать следующую единицу.
notify
: Это указывает, что сервис выпустит уведомление, когда он закончил запускать. Процесс systemd будет ожидать этого для случая прежде, чем продолжиться к другим единицам.
idle
: Это указывает, что сервис не будет выполнен, пока все задания не диспетчеризируются.
От понимания цифрового океана единицы Systemd и файлы единицы