¿Cambiar CPUfreq en el nivel de ejecución 1?

1

Me gustaría cambiar la velocidad de mi CPU usando el nivel de ejecución 1 en Ubuntu 8.10: el problema es cuando intento ejecutar cpufreq_selector -f 2330000 (por ejemplo), aparece el siguiente mensaje:

Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory.

Entonces me di cuenta de por qué, es porque system_bus_socket corre como un demonio. y en el nivel de nivel de ejecución 1 todos los demonios son eliminados.

Así que mi pregunta es: ¿hay una manera de no matar a este daemon? (para que pueda seleccionar mi frecuencia de CPU en el nivel de ejecución 1)

Gracias por cualquier respuesta!

NB: para aquellos que se preguntan por qué debo usar el nivel de ejecución 1, la respuesta es que necesito que mi sistema operativo tenga menos tareas en ejecución como sea posible, para poder realizar algunas pruebas de rendimiento en mi sistema.

quack quixote
fuente
¿Podría cambiar el título de la publicación a "Iniciar un servicio por defecto en un nivel de ejecución" o algo similar, ya que eso es lo que está preguntando de manera efectiva?
nagul

Respuestas:

4

Sin duda, puede configurar el daemon para que se ejecute durante el nivel de ejecución 1. También puede iniciar un daemon ejecutando su /etc/init.d/foo start Si solo lo necesitas una vez y no arrancas todas las veces.

Asumiendo dbus es el nombre del servicio que desea ejecutar, use uno de estos comandos para iniciarlo durante el nivel de ejecución 1.

La herramienta "nativa" de Ubuntu para esto es update-rc.d ( página de manual ). Compruebe cuándo el servicio está actualmente ejecutado y eliminado; en mi sistema Debian, dbus se inicia a las 12 y se elimina a las 88. Querrá sustituir números de su propio sistema:

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  

También podrías usar chkconfig ( página de manual ), disponible en Repositorios del universo de Ubuntu . Es un poco más simple solo para habilitar un servicio en un nuevo nivel de ejecución:

sudo chkconfig --level 1 dbus on

Aquí hay una buena referencia para Gestionando servicios y niveles de ejecución en Ubuntu. . También vea esta pregunta relacionada: ¿Cómo configuro un proceso Unix para que se ejecute automáticamente en un nivel de ejecución particular? .

quack quixote
fuente
1
+1 Excelente respuesta. Me gustaría poder votarlo dos veces solo por el arte ascii
DaveParillo
@DaveParillo: gracias, pero el formato se ha robado descaradamente de otras publicaciones en este sitio. demasiados argumentos a ese comando para no explicarlo de alguna manera. :)
quack quixote
chkconfig no debe usarse en Debian / Ubuntu; no funcionará cuando algunos scripts de inicio sobrantes no se eliminen. Utilice sysv-rc-conf en su lugar. Ver help.ubuntu.com/community/SwitchingToUbuntu/… y bugs.launchpad.net/ubuntu/+source/chkconfig/+bug/450517
Tobu