Enviando sinal ao systemd para impedir que mensagens apareçam no console

1

O link do manual do systemd diz que é possível enviar SIGRTMIN+21 para o processo systemd para desabilitar a mensagem de status, como Started Login service. etc., de aparecer no console. O snippet relevante da página man está abaixo:

SIGRTMIN+21
Disables display of status messages on the console, as controlled via 
systemd.show_status=0 on the kernel command line.

Quando olho para a tabela de processos, existem pelo menos 4 processos diferentes associados ao systemd. Qual destes é referido no man-page?

~# ps -ef |grep [s]ystemd
root       448     1  0 18:47 ?        00:00:01 /lib/systemd/systemd-journald
root       450     1  0 18:47 ?        00:00:00 /lib/systemd/systemd-udevd
root       722     1  0 18:47 ?        00:00:00 /sbin/cgmanager -m name=systemd
root       723     1  0 18:47 ?        00:00:00 /lib/systemd/systemd-logind
message+   742     1  0 18:47 ?        00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

Eu escrevi um daemon simples que não faz nada além de dormir por 10 segundos e garantir que ele seja iniciado na inicialização.

Adivinhei e enviei o sinal para cgmanager process (pid 722 ) como:

# kill -SIGRTMIN+21 722

Houve algumas mensagens no console sobre como reiniciar o daemon do Cgroup, mas a mensagem "Iniciar trabalho ...." continua aparecendo no console:

[  OK  ] Stopped Cgroup management daemon.
[  OK  ] Started Cgroup management daemon.

Server lin1 ttyS0

[   ***] A start job is running for Sleep te... initialization (51s / no lim

Alguém conseguiu desativar o registro do console como eu tentei fazer acima? Se sim, como?

    
por linuxfan 30.12.2016 / 20:20

1 resposta

2

Se você estiver executando o systemd como seu sistema init, o processo para o qual você precisa enviar esses sinais é aquele com o PID 1 (pode ser chamado de init em seu sistema, em vez de systemd ).

Eu não acho que o processo registra qualquer coisa ao receber o SIGRTMIN + 21, mas acontece ao receber o SIGUSR1 (que faz o systemd se reconectar ao barramento D-Bus):

kill -SIGUSR1 1

journalctl -e será exibido:

Dez 30 20:34:25 mineo-foobar systemd[1]: Trying to reconnect to bus...

O acima apenas mostra que o PID 1 é o correto para enviar os sinais, mas para parar as mensagens de status, você ainda tem que usar kill -SIGRTMIN+21 1 .

    
por 30.12.2016 / 20:39