runit - incapaz de abrir supervise / ok: o arquivo não existe

6

Estou tentando descobrir por que o runit não inicializa ou me fornece o status dos aplicativos gerenciados. Rodando no Ubuntu 12.04.

Eu criei / service, / etc / sv / myapp (com um script de execução, um arquivo de configuração, uma pasta de log e um script de execução dentro dele). Eu crio um symlink de / service / para / etc / sv / myapp

Quando eu corro

sudo sv s /service/*

Recebo a seguinte mensagem de erro:

warning: /service/myapp: unable to open supervice/ok: file does not exist

Alguns dos meus Googling revelaram que supostamente a reinicialização do serviço svscan poderia consertar isso, mas matá-lo e rodar o svscanboot não fez diferença.

Alguma sugestão? Estou faltando um passo aqui em algum lugar?

    
por Alexandr Kurilin 04.07.2013 / 06:18

4 respostas

3

O problema é que, pelo menos no Ubuntu 12.04, os links dos serviços do runit devem ser colocados em / etc / service, not / service conforme o guia Arch em Runit

    
por 04.07.2013 / 06:31
2

No meu caso, eu apaguei o lock e o pid da configuração do serviço depois de parar o serviço:

# stops the service 
sv down serviceName

# deletes the 'pid' and 'lock' files
find -L /etc/service/serviceName -type f \( -name "pid" -o -name "lock" \) -delete

# starts the service
sv up serviceName

# verify service status
sv s serviceName

Demorei um pouco para encontrar a solução, então espero que ajude alguém.

    
por 28.10.2015 / 21:33
1
sudo runsv /service/run/ &

Então

sudo sv  start /service/run/

ou

sudo sv  up /service/run/
    
por 13.04.2017 / 21:38
0

O Runit também apresenta problemas ao iniciar quando um serviço é vinculado simbolicamente a um diretório montado em um sistema de arquivos diferente via LVM. Por exemplo,

$ readlink -f /etc/service/my-service
/opt/my-service

$ mount
...
/dev/mapper/lvm--local-opt on /opt type ext4 (...)

$ sv once my-service
warning: my-service: unable to open supervise/ok: file does not exist

Soluções possíveis:

  • Desmonte o sistema de arquivos do LVM em umount /opt; lvremove /dev/mapper/lvm--local-opt
  • Mova o serviço do runit para um local melhor
    update-service --remove /opt/my-service; mv /opt/my-service /etc/sv; update-service --add /etc/sv/my-service
por 11.02.2014 / 12:22