win_nssm - NSSM - Управляющий службами, не вызывающий отторжения
Новая версия с 2.0.
Обзор
- nssm — это помощник служб, который не вызывает отторжения. Подробнее см. https://nssm.cc/.
Требования (к хосту, на котором выполняется модуль)
- nssm >= 2.24.0 # (установка через win_chocolatey)
win_chocolatey: name=nssm
Параметры
| Параметр | Обязательно | По умолчанию | Варианты | Комментарии |
|---|---|---|---|---|
| app_parameters | нет | Параметры, которые будут переданы приложению при запуске. Используйте либо этот параметр, либо app_parameters_free_form, но не оба одновременно | ||
| app_parameters_free_form (добавлен в 2.3.0)
| нет | Одна строка параметров, которые будут переданы службе. Используйте либо этот параметр, либо app_parameters, но не оба одновременно | ||
| application | нет | Исполняемый файл приложения, который будет запущен как служба Указывайте, когда служба может потребоваться установить (состояние: присутствует, запущена, остановлена, перезапущена) Обратите внимание, что имя приложения должно выглядеть следующим образом, если в каталоге есть пробелы: nssm install service "c:\\Program Files\\app.exe\\" "C:\\Путь с пробелами\\" Дополнительная информация: см. коммит 0b386fc1984ab74ee59b7bed14b7e8f57212c22b в проекте nssm.git: https://git.nssm.cc/?p=nssm.git;a=commit;h=0b386fc1984ab74ee59b7bed14b7e8f57212c22b | ||
| dependencies | нет | Зависимости службы, которые должны быть запущены для запуска, разделенные запятой. | ||
| name | да | Имя службы, с которой необходимо работать | ||
| password | нет | Пароль, который будет использоваться для запуска службы | ||
| start_mode | нет | auto |
| Если выбран auto, служба будет запускаться при загрузке. manual означает, что служба будет запускаться только тогда, когда ей потребуется другая служба. disabled означает, что служба останется выключенной, независимо от того, нужна она или нет. |
| state | нет | started |
| Состояние службы в системе Обратите внимание, что действия NSSM, такие как «пауза», «продолжение», «поворот», не подходят для декларативного стиля ansible, поэтому их следует реализовывать с помощью модуля команды ansible |
| stderr_file | нет | Путь для получения вывода ошибок | ||
| stdout_file | нет | Путь для получения вывода | ||
| user | нет | Пользователь, который будет использоваться для запуска службы |
Примеры
# Install and start the foo service
- win_nssm:
name: foo
application: C:\windows\foo.exe
# Install and start the foo service with a key-value pair argument
# This will yield the following command: C:\windows\foo.exe bar "true"
- win_nssm:
name: foo
application: C:\windows\foo.exe
app_parameters:
bar: true
# Install and start the foo service with a key-value pair argument, where the argument needs to start with a dash
# This will yield the following command: C:\windows\\foo.exe -bar "true"
- win_nssm:
name: foo
application: C:\windows\foo.exe
app_parameters:
"-bar": true
# Install and start the foo service with a single parameter
# This will yield the following command: C:\windows\\foo.exe bar
- win_nssm:
name: foo
application: C:\windows\foo.exe
app_parameters:
_: bar
# Install and start the foo service with a mix of single params, and key value pairs
# This will yield the following command: C:\windows\\foo.exe bar -file output.bat
- win_nssm:
name: foo
application: C:\windows\foo.exe
app_parameters:
_: bar
"-file": "output.bat"
# Use the single line parameters option to specify an arbitrary string of parameters
# for the service executable
- name: Make sure the Consul service runs
win_nssm:
name: consul
application: C:\consul\consul.exe
app_parameters_free_form: agent -config-dir=C:\consul\config
stdout_file: C:\consul\log.txt
stderr_file: C:\consul\error.txt
# Install and start the foo service, redirecting stdout and stderr to the same file
- win_nssm:
name: foo
application: C:\windows\foo.exe
stdout_file: C:\windows\foo.log
stderr_file: C:\windows\foo.log
# Install and start the foo service, but wait for dependencies tcpip and adf
- win_nssm:
name: foo
application: C:\windows\foo.exe
dependencies: 'adf,tcpip'
# Install and start the foo service with dedicated user
- win_nssm:
name: foo
application: C:\windows\foo.exe
user: foouser
password: secret
# Install the foo service but do not start it automatically
- win_nssm:
name: foo
application: C:\windows\foo.exe
state: present
start_mode: manual
# Remove the foo service
- win_nssm:
name: foo
state: absent
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратной совместимый.
Для помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочтите Информацию о сообществе и участии в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_nssm_module.html