O status do Systemctl sempre mostra o log completo, mesmo com --lines

O status do Systemctl sempre mostra o log completo, mesmo com --lines

Estou tentando obter o status de uma unidade, mas apenas as 3 primeiras linhas assim:

systemctl --user status resilio-sync --lines=3

Eu tentei várias variações disso com -n 3 etc..., nada funciona. E o estranho: sempre mostra o log completo (13 linhas), em vez de 10 linhas que deveria ser o padrão de acordo com a documentação dosistemactl.

A tentativa systemctl statusconfirma isso: apenas envia todas as 45 linhas para o terminal, quando na verdade deveria ser 10.

Estou faltando alguma coisa aqui? Que eu saiba não mudei nada.

Como solução alternativa, estou usando atualmente:

systemctl --user status resilio-sync | sed -ne '1,3p'

mas prefiro corrigir o problema subjacente e usar o comando nativo. O sistema é Kali Linux (re4son-kernel, dedos pegajosos) em um Raspberry Pi (é fácil culpar essa configuração estranha, mas como essa é a funcionalidade principal do Linux, não acho que isso deva importar)

Saída do primeiro comando

Responder1

O comando systemctl statusexibe o status do serviço e as linhas correspondentes de journalctl, --lines=3limitará o número exibido de linhas do diário a 3. por exemplo:

systemctl --user status resilio-sync --lines=0

exibirá apenas o status do esilio-syncserviço sem o journalctllog.

-n, --linhas=

Quando usado comstatus, controleso número de linhas do diáriopara mostrar, contando a partir dos mais recentes. Recebe um argumento inteiro positivo ou0 para desativar a saída do diário. O padrão é 10.

Para limitar a saída do systemctl statuscomando você pode usar opções:

systemctl check resilio-sync
systemctl is-active resilio-sync
systemctl is-enabled resilio-sync

ou agrupando as opções:

systemctl is-active is-enabled resilio-sync

Responder2

É para isso que o comando head foi projetado.

systemctl --user status resilio-sync | head -n 3

informação relacionada