Seu serviço não está configurado corretamente. A razão disso é que você o invocou diretamente do serviço definição e não do serviço real controle .
Quando o gerenciamento de serviço do runit é iniciado, ele espera que exista um diretório /service
, apesar de algumas instalações (como o Debian Jessie) atualmente estarem em /etc/service
por razões desconhecidas. A mensagem de erro vem desse diretório ausente, ao qual está tentando mudar, portanto, a mensagem unable to change service directory
. Faça o seguinte como root:
mkdir -p /etc/service
cd /
ln -s /etc/service
cd /service
ln -s /etc/sv/testrun
Isto irá:
- crie o diretório de serviço, se ele não existir
- coloque um link simbólico na raiz para que o runsvdir possa mudar para
/service
como seu diretório de trabalho
- cria um link para seu serviço
testrun
, supondo que você tenha definido em /etc/sv/testrun
runsvdir
poderá, então, alterar seu diretório para /service
, encontrar seu link simbólico para testrun
e depois iniciá-lo. Você pode verificar isso usando ps fax
ou pstree -A
para ver a árvore de processos; deve haver um runsv
com seu comando anexado a ele. Nota: às vezes pode levar um segundo ou dois para o processo runsvdir ser orientado para a cabeça, então se você olhar imediatamente e não vê-lo na árvore de processos, aguarde 2-3 segundos e tente novamente, e deve aparecer. Isto parece acontecer apenas quando é iniciado.