daemontools: Como descobrir o que está errado?

2

Estou explorando daemontools para executar alguns dos nossos aplicativos, que também geram alguns resultados (em stdout e stderr).

Eu instalei daemontools em uma caixa debian. Sempre que faço um svc -u /etc/service/myservice para iniciar o serviço, recebo um processo [defunct] . Como posso proceder para depurar este problema?

A seguir está minha /etc/service/myservice/run :

#!/bin/bash
exec myservice -c /etc/myservice/myservice.conf

e /etc/service/myservice/log/run

#!/bin/sh
exec multilog t ./main

Qualquer ajuda seria apreciada. Obrigado.

    
por Lazylabs 08.05.2012 / 14:27

2 respostas

3

Você pode pegar alguns erros com ps -aux | grep readproctitle .

Algumas ideias de depuração:

  • myserver não está no PATH . Considere especificar o caminho completo para o programa.
  • myserver forks in background: Isto é explicitamente proibido com serviços iniciados usando daemontools.
  • Permissões: verifique novamente as permissões dos diretórios e do script run .
por 08.05.2012 / 15:36
1

Eu enfrentei o mesmo problema. Quando nada mais funcionou, isso funcionou para mim:

  • Encontre o pid de svscanboot através de ps auxf . Você verá que ele inicia o svscan que monitora todos os serviços.
  • kill -9 -pid .

O svscanboot será iniciado automaticamente e todos os serviços serão incluídos no svscan.

Eu enfrentei o problema quando o pipe nomeado de svcan fica corrompido quando não há espaço em disco na máquina.

    
por 01.05.2016 / 20:52