Путаница о системных файлах, файлах среды и аргументах командной строки для исполняемого файла службы

Я пытаюсь преобразовать скрипт upstart в systemd , но я не могу понять, как передать аргументы командной строки исполняемому файлу. Вот оригинальный сценарий upstart :

 # job description description "job description" start on (started wrouterd and wrouterd-started) stop on (stopping wrouterd) instance $SLUG[$PHONE] chdir /var/application/bin console log manual respawn respawn limit 5 60 exec /usr/bin/php my_script.php --phone=${PHONE} --slug=${SLUG} 

До сих пор это то, что я получил:

 [Unit] Description=service description After=wrouterd.service [Service] Type=simple WorkingDirectory=/var/application/bin StandardOutput=tty, StandardError=tty Restart=on-failure RestartSec=30s ExecStart=/usr/bin/php my_script.php --phone=${PHONE} --slug=${SLUG} того, как [Unit] Description=service description After=wrouterd.service [Service] Type=simple WorkingDirectory=/var/application/bin StandardOutput=tty, StandardError=tty Restart=on-failure RestartSec=30s ExecStart=/usr/bin/php my_script.php --phone=${PHONE} --slug=${SLUG} 

Я прочитал кое-что о файлах среды, но я не уверен, применимы ли они к моему делу, потому что они говорят здесь, что «служба не должна менять параметры очень часто» и «Параметры службы не меняются на регулярной основе, и не имеют их конфигурационных файлов », и в настоящее время у меня в настоящее время около 130 экземпляров этого задания, и я должен иметь возможность запускать и останавливаться в любое время. Мне нужно создать файл окружения для каждого отдельного экземпляра? Или мне нужно изменить переменные в одном файле среды, а затем запустить / остановить скрипт?

  • Отключить atd (и другие ненужные процессы запуска) в Ubuntu?
  • Как назвать и где разместить сценарий выскочки?
  • Как связать скрипт во время загрузки с определенным уровнем выполнения?
  • Как запустить службу при загрузке после получения учетной записи ldap
  • Сбой скрипта Ubuntu init - попытка найти более подробную информацию об ошибке
  • Как проверить функцию UPSTART для ubuntu, чтобы увидеть, как мой скрипт автоматически перезапускается, если он убит?
  • Автозапуск виртуальной машины VBoxHeadless при загрузке с помощью Upstart - init и Graceful exit
  • Как перезапустить мою программу Java автоматически, если она будет убита?
  • One Solution collect form web for “Путаница о системных файлах, файлах среды и аргументах командной строки для исполняемого файла службы”

    Возможно, вы ищете экземпляры . См. Этот блог, в котором обсуждается, как один экземпляр getty создается экземпляром столько раз, сколько требуется, создавая символическую ссылку на него, с именем файла, содержащим произвольный параметр, который передается на устройство, где его можно восстановить как %I или %i .

    Например,

     systemctl start serial-getty@ttyUSB0.service 

    сначала найдет файл с таким именем файла, а затем удалит часть ttyUSB0 и ищет ttyUSB0 serial-getty@.service file . Внутри блока /usr/lib/systemd/system/serial-getty@.service вы увидите строки типа

     ExecStart=-/sbin/agetty -s %I 115200,38400,9600 

    который заставит getty работать с arg ttyUSB0 вместо %I

    Я очень рекомендую прочитать всю серию блогов на systemd.

    Interesting Posts

    Как настроить Nemo правой кнопкой мыши «Открыть в терминале», чтобы запустить «gnome-terminal»,

    Apticron уведомляет об удаленных пакетах

    Как установить программное обеспечение на Red Hat?

    Выделите последнюю команду в терминале? (например, значки терминалов OS X)

    Не удается установить pg gem

    Забыли пароль encfs

    синхронизировать или асинхронно для массового дублирования USB?

    Какие хорошие онлайн-ресурсы для изучения сценариев оболочки?

    Предотвращение перехода мониторов на экран блокировки на GNOME

    Можем ли мы создать группу томов lvm с отображенным устройством?

    Вырезать строку-Catch: есть файл с тем же именем, что и строка в том же пути

    Помогает ли родительский скрипт bash запомнить историю cd из сценария child bash?

    Запустить команду bash после некоторых одновременных команд?

    Настройки ulimit в /etc/security/limits.conf не действуют для пользователей

    Создание образа файловой системы ext3 без mkfs.ext3

    Linux и Unix - лучшая ОС в мире.