Como funcionam os serviços do sistema em snaps

5

Ao criar um snap e de acordo com a sintaxe do arquivo snapcraft.yaml , a palavra-chave daemon pode ser adicionada para especificar que o aplicativo será executado como um serviço do sistema. Como exemplo de tal declaração:

apps:
  tinyproxy:
    command: ./launcher.sh
    daemon: simple
    plugs: [network,network-bind]

No entanto, o que significa exatamente ser um serviço de sistema em um piscar de olhos? Ou seja, qual é o ciclo de vida deles (iniciar, reiniciar, parar ...)? Posso monitorá-los em execução no sistema com as ferramentas usuais ( ps , top , etc)?

    
por David Planella 08.06.2016 / 16:48

1 resposta

6

De link

Testando um serviço

Para testar um serviço, ele deve ser instalado primeiro. Uma vez instalado, o comando systemctl do systemd pode ser usado para ver se o serviço é iniciado e executado conforme o esperado, por exemplo:

systemctl status snap.<name>.<appname>

Encontrando os logs

O comando journalctl pode ser usado para inspecionar as mensagens que o serviço envia para stdout / stderr , por exemplo:

journalctl -u snap.<name>.<appname>

Os serviços podem registrar dados adicionais no syslog ( /var/log/syslog ) ou em diretórios de log personalizados. Observe que os diretórios de log personalizados devem estar em um caminho para o qual o serviço possa gravar (geralmente SNAP_DATA ).

Obtendo um dump principal

Para ativar os core dumps, você precisa configurar um local para gravá-los no sysfs. Por exemplo, você pode usar

$ echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern

para garantir que seus coredumps sejam gravados no diretório /tmp , independentemente de onde CWD do processo que recebeu um sinal.

    
por dholbach 10.06.2016 / 14:52