如何重新启动 polkitd?

如何重新启动 polkitd?

我的台式电脑还用作小型工作组的 NIS/NFS 服务器。它可以运行几个月而无需重新启动。

最近,我观察到,当我登录桌面会话时,计算机的响应速度会降低几分钟。polkitd处于某种状态的进程会D生成大量磁盘 I/O 活动。其 VmSize 超过 600MB,VmRSS 超过 400MB。

该机器仍然使用带有 polkit 0.96 的 OpenSUSE 11.3。我计划在夏天升级。

polkitd 中有一些内存泄漏的报告,这些报告已在 0.98 中修复(自由桌面网站,opensuse.org)。虽然升级可能会解决问题,但需要大约一天的时间,我正在寻找快速解决方案。

/etc/init.d 中没有 polkitd 脚本,polkitd 进程的父进程就是init它本身。

    PID  PPID USER     CMD
      ....
  22362     1 root     /usr/lib/polkit-1/polkitd

问题:如何在不重新启动系统的情况下重新启动 polkitd?我可以在桌面会话中执行此操作,还是应该注销桌面会话并登录到文本控制台?

答案1

polkitd 的手册页显示:

...用户或管理员永远不需要启动此守护进程,因为它将由 dbus-daemon(1) 自动启动...

dbus因此,当服务重新启动时,polkitd 也会重新启动。由于此服务与桌面管理器交互,因此注销桌面会话、停止xdm服务、重新启动dbus并再次启动会更安全xdm

答案2

你应该运行:

invoke-rc.d dbus restart

作为根。

答案3

使用 systemd 时,重新启动 polkit 非常简单:sudo systemctl restart polkitd.service

答案4

在终端中运行:

killall -HUP polkitd

相关内容