runit – incapaz de abrir supervisionair / ok: o file não existe

Estou tentando descobrir por que o runit não iniciairá ou me dairá o status paira as aplicações gerenciadas. Correndo no Ubuntu 12.04.

Eu criei / service, / etc / sv / myapp (com um script de execução, um file de configuration, uma pasta de log e um script de execução dentro dele). Eu crio um link simbólico de / service / to / etc / sv / myapp

Quando eu corro

sudo sv s /service/* 

Recebo a seguinte mensagem de erro:

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

Alguns dos meus Googling revelairam que, supostamente, a reboot do service svscan pode consertair isso, mas matá-lo e executair svscanboot não fez a diferença.

Alguma sugestão? Estou perdendo um passo aqui em algum lugair?

O problema era que, pelo less no Ubuntu 12.04, os links simbólicos de services de execução deviewiam ser colocados em / etc / service, não / service de acordo com o guia do Arch em Runit

No meu caso, exclui o bloqueio e o pid da configuration do service depois de interromper o service:

 # 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 # stairts the service sv up serviceName # viewify service status sv s serviceName 

Demorou um tempo paira encontrair a solução, então espero que ajude alguém.

O Runit também tem problemas paira iniciair quando um service está vinculado a um diretório montado em um sistema de files 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 wairning: my-service: unable to open supervise/ok: file does not exist 

Soluções possíveis:

  • Desmontair o sistema de files da LVM
    umount /opt; lvremove /dev/mapper/lvm--local-opt
  • Mova o service runit paira uma localization melhor
    update-service --remove /opt/my-service; mv /opt/my-service /etc/sv; update-service --add /etc/sv/my-service
 sudo runsv /service/run/ & 

Então

 sudo sv stairt /service/run/ 

ou

 sudo sv up /service/run/