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

Я пытаюсь преобразовать скрипт 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 экземпляров этого задания, и я должен иметь возможность запускать и останавливаться в любое время. Мне нужно создать файл окружения для каждого отдельного экземпляра? Или мне нужно изменить переменные в одном файле среды, а затем запустить / остановить скрипт?

  • Создан скрипт CentOS - upstart, но он никогда не работает вообще
  • Как отключить процесс демона на RHEL 6.3, как SMF на Solaris
  • Документация Upstart для CentOS 6
  • Linux: Почему init и systemd используют так много операций ввода-вывода?
  • Как я могу перезапустить демон SSH на Ubuntu?
  • Есть ли способ разработки сценариев выскочки на Fedora 21?
  • Развертывание проекта выскочки на системной машине с Capistrano
  • Запуск сценария инициализации при запуске определенного устройства и загрузке модуля ядра
  • 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.

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