需要为此命令 grep 输出:
systemctl | grep failed
Run Code Online (Sandbox Code Playgroud)
问题是它没有显示完整的单位:
systemd-...-clean.service loaded failed failed Cleanup of Temporary Directories
systemd-...-setup.service loaded failed failed Recreate Volatile Files and Directories
tcsd.service loaded failed failed LSB: Init script for TCSD
cups.socket loaded failed failed CUPS Printing Service Sockets
Run Code Online (Sandbox Code Playgroud)
你可以看到单位显示,如:systemd-...es-clean.timer
对systemd-tmpfiles-clean.service
我试过一个文件:
systemctl --failed > file
Run Code Online (Sandbox Code Playgroud)
或者猫:
systemctl --failed | cat
Run Code Online (Sandbox Code Playgroud)
但问题是一样的。我需要了解为什么会发生这种情况以及如何解决它。
我试图让dnsmasq
(版本 2.66)只听回送接口,但它痴迷于听所有可用的地址,即0.0.0.0:53尽管有以下参数:
# dnsmasq -ilo --pid-file=/run/dnsmasq-lo.pid
dnsmasq: failed to create listening socket for port 53: Adress already in use
Run Code Online (Sandbox Code Playgroud)
我还有其他正在运行的 dnsmasq 进程,它们似乎只监听一个 IP 地址:
# netstat -ltaupn | sed -rne 2p -e '/:53\b/p'
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.125.1:53 0.0.0.0:* LISTEN 4224/dnsmasq
tcp 0 0 192.168.124.1:53 0.0.0.0:* LISTEN 4221/dnsmasq
udp 0 0 192.168.125.1:53 0.0.0.0:* 4224/dnsmasq
udp 0 0 192.168.124.1:53 0.0.0.0:* 4221/dnsmasq
Run Code Online (Sandbox Code Playgroud)
当我杀死所有dnsmasq
实例并重新运行我的命令时,这就是我所拥有的:
# dnsmasq …
Run Code Online (Sandbox Code Playgroud)