timedatectl
在我们的 RHEL 服务器版本 7.6 上,这是一个奇怪的 command 异常
timedatectl set-timezone UTC
Failed to create bus connection: Resource temporarily unavailable
基于这个异常,我们从谷歌搜索中发现 dbus 服务重新启动可能会有所帮助所以我们也尝试通过服务重新启动 dbus
systemctl restar dbus.service
但我们得到
Error getting authority: Error initializing authority: Could not connect: Resource temporarily unavailable (g-io-error-quark, 27)
经过一番调试后,我们发现解决方法是杀死dbus
PID ,方法是kill -9
作为
ps -ef | grep dbus
dbus 775 1 0 May22 ? 00:27:30 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
kill 775
然后我们再试一次
timedatectl set-timezone UTC
以上即成功
所以根据我们的步骤,直到我们找到解决方案
我们想了解我们的解决方法是否是“无法创建总线连接:资源暂时不可用”的正确解决方案
以及为什么我们收到有关“无法创建总线连接:资源暂时不可用”的异常timedatectl
什么是D总线?
D-Bus 是不同来源的应用程序之间的通信系统。通过这个系统,我们甚至可以调用专有应用程序(如果它们实现了 D-Bus)。它扮演的角色与库不同,因为库不是独立的程序,而是可执行文件的一部分。 D-Bus 的思想受到 Windows OLE、COM 和 ActiveX 对象的启发。 Windows COM 对象提供了一种从另一个程序调用任何程序的简单方法,甚至能够将一个程序直观地嵌入到另一个程序中,而无需使用相同的编程语言。 D-Bus 没有走那么远,但它提供了 UNIX 所缺乏的通信。
答案1
您提到的“资源暂时不可用”错误通常在您达到全局或本地资源限制时发生。
IE a或或ulimit
中的全局值。/sys
/proc
调用命令时命令行上最常见的原因通常是由于达到线程限制。
我会考虑检查ulimit -a
一下这些值是否很高。
笔记:任务 ulimit 用于任务不是进程(包括所有线程),因此为了获得可靠的计数,您应该执行类似的操作$(pgrep -wu your_user | wc -l)