1

systemd's man-page https://www.freedesktop.org/software/systemd/man/systemd.html says that one can send SIGRTMIN+21 to the systemd process to disable status message such as Started Login service. etc. from appearing on the console. The relevant snippet from man page is below:

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

When I look at the process table, there are at least 4 different processes associated with systemd. Which of these is referred to in the 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

I wrote a simple daemon that does nothing other than sleeping for 10 secs continuing and ensured that it starts upon boot.

I took a wild guess and sent the signal to cgmanager process (pid 722) as:

# kill -SIGRTMIN+21 722

There were a couple of messages on the console about restarting the Cgroup daemon, but the "Start job ...." message continues to appear on the 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

Has anyone been able to disable console logging like I attempted to do above? If so how?

  • is it only journald doing any logging? I just ask, because in Debian rsyslog can at least log some things to the console. – Guy Dec 30 '16 at 20:02
  • 1
    dmesg -n 1 might be another way to limit console spam. – thrig Dec 30 '16 at 20:04
  • dmesg -n 1 doesn't work either :( – linuxfan Dec 30 '16 at 20:45
  • Appended systemd.show_status=0 to kernel command line and no systemd messages appeared on the console! I wish sending a signal to systemd would also give the same result. – linuxfan Dec 30 '16 at 22:13
2

If you're running systemd as your init system, the process that you need to send those signals to is the one with PID 1 (it might be called init on your system instead of systemd).

I don't think the process logs anything upon receiving SIGRTMIN+21, but it does upon receiving SIGUSR1 (which causes systemd to reconnect to the D-Bus bus):

kill -SIGUSR1 1

journalctl -e will then show:

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

The above only shows that PID 1 is the correct one to send the signals to, but to stop the status messages, you still have to use kill -SIGRTMIN+21 1.

  • Does the man-page say that the signal should be sent to init instead? I sent SIGUSR1 to init but that didn't help. The service continues to hog my console with the same message as before. – linuxfan Dec 30 '16 at 19:46
  • # ls -l /sbin/init lrwxrwxrwx 1 root root 20 Aug 27 2015 /sbin/init -> /lib/systemd/systemd Sending kill -SIGRTMIN+21 1 does indeed stop the spam. @Wieland - I'll accept your answer if you edit it accordingly. thanks – linuxfan Dec 30 '16 at 22:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.