supervisor.conf расположение по умолчанию

Да, вы можете создать конструктор виртуальной копии, но вы не можете создать виртуальный конструктор.

Причина:

Виртуальный конструктор: - Не возможно, потому что c ++ является языком статического типа и создает конструктор как виртуальный, поэтому компилятор не сможет решить, какой тип объекта он и оставить весь процесс за время выполнения из-за виртуального ключевого слова. Компилятор должен знать тип класса для создания объекта. Другими словами, какой тип объекта должен быть создан, это решение времени компиляции с точки зрения компилятора C ++. Если мы сделаем конструктор виртуальным, компилятор отметит ошибку.

Конструктор виртуальной копии: - Да Возможно, рассмотрите приложение для клип-карты. Плата клипов может содержать объекты разных типов и копировать объекты из существующих объектов, вставлять их на холст приложения. Опять же, какой тип объекта, который нужно скопировать, является решением во время выполнения. Конструктор виртуальной копии заполняет пробел здесь.

16
задан Vini.g.fer 16 March 2017 в 17:38
поделиться

2 ответа

Обычно файл по умолчанию действительно /etc/supervisor.conf, но дистрибутив Debian исправляет этот (ссылка на патч gzipped, предоставленный Debian), чтобы сначала искать /etc/supervisor/supervisor.conf:

--- supervisor-3.0a8.orig/src/supervisor/options.py
+++ supervisor-3.0a8/src/supervisor/options.py
@@ -105,7 +105,7 @@
     def default_configfile(self):
         """Return the name of the found config file or raise. """
         paths = ['supervisord.conf', 'etc/supervisord.conf',
-                 '/etc/supervisord.conf']
+                 '/etc/supervisor/supervisord.conf', '/etc/supervisord.conf']
         config = None
         for path in paths:
             if os.path.exists(path):

Таким образом, с этим патчем супервизор ищет supervisord.conf в локальном каталоге, в подкаталоге etc/, затем в глобальных каталогах /etc/supervisor/ и /etc/.

Файл supervisord.conf по умолчанию, установленный Debian, имеет это в конце:

[include]
files = /etc/supervisor/conf.d/*.conf

, заставляя supervisord загружать любые дополнительные файлы, помещенные в каталог conf.d.

24
ответ дан Martijn Pieters 16 March 2017 в 17:38
поделиться

Возможно, вы установили супервизор через pip и, следовательно, имеете непатченную версию в

/usr/local/lib/python2.7/dist-packages/supervisor/

с преимуществом над пропатченной версией в

/usr/lib/pymodules/python2.7/supervisor

См. Ответ Мартжина о деталях патча. Простое решение:

pip uninstall supervisor

Затем повторно запустите установку пакета, если он был установлен только частично:

apt-get install supervisor

Также убедитесь, что ваш /etc/supervisor/supervisord.conf присутствует. Если нет, вам, возможно, придется вручную воссоздать его, мой выглядит так:

; supervisor config file

[unix_http_server]
file=/var/run//supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run//supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf
5
ответ дан crizCraig 16 March 2017 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: