I […] and cannot find any piece of configuration that told systemd to look for pidfile in that specific directory.
Vocês dois podem e fizeram. Você até coloca isso na sua pergunta:
I noticed also [the] directory reported by
systemctl
as a comment:# pidfile: /usr/lib/hue/pids/supervisor.pid
Aí está. Há as informações de configuração que informaram systemd-sysv-generator
onde o arquivo PID está.
Dentre os vários estilos principais de rc
scripts (Mewburn rc
, OpenBSD rc
, LFS, Fedora / RHEL / CentOS, SUSE, Debian / Ubuntu e OpenRC) este é um dos dois que O systemd tenta importar. A oferta é o "SYSV:" que foi anexado à descrição. Quando importa o outro estilo, ele inclui "LSB:".
pid directory is correctly set via
PIDFILE
variable
"corretamente" é um exagero. Seu antigo script rc
é autocontraditório. As informações de configuração em seu cabeçalho contradizem o que o script realmente faz.
Uma abordagem é corrigir seu script rc
auto-contraditório. Um melhor é escrever uma unidade de serviço em vez disso. Usar seu script rc
incorreto está resultando na execução do daemon sob dois gerenciadores de serviços aninhados, supervisor no systemd. Ironicamente, nenhum desses arquivos PID é necessário, em primeiro lugar.
Seria algo parecido com:
[Unit] Description=Hue web server Documentation=https://unix.stackexchange.com/a/326354/5132 [Service] Type=simple User=hue WorkingDirectory=/usr/lib/hue/ Environment=PYTHON_EGG_CACHE=/tmp/.hue-python-eggs ExecStart=/usr/bin/env build/env/bin/hue runcherrypyserver SyslogIdentifier=hue [Install] WantedBy=multi-user.target