我想使用 Ubuntu 8.10 上的运行级别 1 来更改我的 CPU 速度:问题是当我尝试运行 cpufreq_selector -f 2330000(例如)时,出现以下消息:
Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory.
然后我弄清楚了为什么,因为它system_bus_socket
作为守护进程运行。并且在运行级别 1 模式下,所有守护进程都被杀死。
所以我的问题是:有没有办法不杀死这个守护进程?(这样我就可以在运行级别 1 中选择我的 CPU 频率)
感谢您的任何回答!
注意:对于那些想知道为什么我必须使用运行级别 1 的人,答案是我需要我的操作系统运行尽可能少的任务,以便对我的系统进行一些性能测试。
答案1
/etc/init.d/foo start
您当然可以将守护进程设置为在运行级别 1 期间运行。如果您只需要一次而不是每次都启动它,您也可以通过运行它来启动守护进程。
假设dbus
是您想要运行的服务的名称,请使用以下命令之一在运行级别 1 期间启动它。
Ubuntu 的“本机”工具是update-rc.d
(手册页)。检查服务当前运行和终止的时间;在我的 Debian 系统上,服务dbus
在 12 时启动,在 88 时终止。您需要用您自己的系统中的数字替换它:
sudo update-rc.d dbus start 12 1 2 3 4 5 . stop 88 0 6
^ ^ ^^^^^^^ ^ ^^
| | | | |
| | | | --- kill at these runlevels
| | | -------- ordering for stopping service
| | --- start at these runlevels
| ---------- ordering for start
--- service name
您还可以使用chkconfig
(手册页),适用于Ubuntu 的 Universe 存储库。在新的运行级别上启用服务会更简单一些:
sudo chkconfig --level 1 dbus on
以下是一个很好的参考管理 Ubuntu 上的服务和运行级别。另请参阅此相关问题:如何将 Unix 进程设置为在特定运行级别自动运行?。