Como assistir a saída do serviço systemd?

4

Eu quero assistir a saída de um serviço systemd no CentOS como se eu tivesse iniciado este serviço a partir do console. Sim, posso ver a saída com journalctl , mas ela não rola para o fundo automaticamente. Então, como posso assistir a saída ao vivo de um serviço?

    
por stiv 13.10.2018 / 20:34

2 respostas

6
journalctl -f -u mystuff.service

Está no manual:

-f, --follow
Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.

e

-u, --unit=UNIT|PATTERN
Show messages for the specified systemd unit UNIT (such as a service unit), or for any of the units matched by PATTERN. If a pattern is specified, a list of unit names found in the journal is compared with the specified pattern and all that match are used. For each unit name, a match is added for messages from the unit ("_SYSTEMD_UNIT=UNIT"), along with additional matches for messages from systemd and messages about coredumps for the specified unit.

This parameter can be specified multiple times.

    
por 13.10.2018 / 20:40
1

Para adicionar à resposta de @ don_crissti, se você quiser ver apenas a saída desse serviço, sem mais nada, poderá usar isso:

journalctl -f -o cat _SYSTEMD_UNIT=mystuff.service

O -o cat seleciona um formato de saída que omite informações adicionais (como timestamps), e o uso de _SYSTEMD_UNIT em vez de -u significa que as mensagens relacionadas ao serviço, mas não impresso por ele (por exemplo, iniciar / parar mensagens ou core dumps) não será selecionado.

Observe que o diário divide o que recebe de um serviço via StandardOutput=journal nos registros de log na nova linha e NUL caracteres, portanto, se o serviço imprimir a saída sem uma nova linha de término ou NUL por algum tempo, essa saída ainda não será bem vivo.

    
por 14.10.2018 / 14:10