One, init y runlevel
Los amigos que han estado expuestos a Linux deberían haber aprendido que el init tradicional define siete niveles de ejecución, como el nivel 0 está
desactivado El sistema, entrada de nivel 2 es una interfaz de caracteres multiusuario, nivel 5 es una interfaz gráfica, etc.
El archivo /etc /inittab especifica los comandos que deben ejecutarse cuando el sistema ingresa en cada nivel de ejecución. Cuando la máquina arranca, el inicio se inicia en el nivel de fila 0 de
nivel, nivel uno. Ejecute el nivel de ejecución predeterminado establecido en el archivo /etc /inittab.
Modifique el nivel de ejecución predeterminado del sistema:
#vi /etc /inittab
Encuentre los siguientes campos
id: 5: initdefault:
//Editar archivo inittab
//El nivel de ejecución predeterminado es 5, lo que significa que puede ingresar a la interfaz gráfica directamente cuando se inicia el sistema. Podemos
modificando esto El nivel de ejecución predeterminado para el inicio del sistema digital personalizado.
Segundo, conozca el script de inicio del servicio
Un artículo en frente de mi blog introdujo cómo escribir y configurar un nuevo script de inicio del servicio (detallado en Vea linux
Configure una aplicación (software) como un servicio del sistema), simplemente tomó el concepto de un script de inicio, y aquí nuevamente.
Todos los scripts de inicio se almacenan en /etc/init.d/. Podemos iniciar
una aplicación usando el modo de inicio /etc/init.d/scriptname.
Por ejemplo, ingrese el comando " /etc/init.d/smb start " para iniciar el servicio smb.
Si está en un sistema RedHat, también puede iniciar un servicio con service smb start.
Aunque los scripts en el directorio /etc/init.d pueden iniciar y detener servicios individuales, init no se encuentra directamente en el directorio
/etc/init.d cuando se inicia el sistema. El script de inicio para cada servicio se busca en el directorio /etc/rc.d/, que contiene los subdirectorios de rc0.d,
rc1.d, etc., que representan diferentes niveles de inicio de inicio. El directorio contiene el script de inicio para el nivel de inicio correspondiente,
como se muestra:
script de inicio1
A continuación, echemos un vistazo a los directorios contenidos en estos directorios rcx.d. El contenido, el contenido son todos los enlaces simbólicos, vinculados al script en el directorio de inicio de nivel superior
.
Todos estos nombres de enlaces simbólicos comienzan con S o K seguidos de un número y el nombre del servicio controlado por el script, como
S10network.
Cuando init realiza la transición de un nivel de ejecución bajo a un nivel de ejecución alto, ejecuta todos los scripts que comienzan con S en orden numéricamente creciente,
S = start, que corresponde al script de inicio. Servicio; K = matar, es decir, eliminar el servicio correspondiente del script
Primero, observe el nivel de ejecución predeterminado del sistema init5 (es decir, arranque directamente desde la interfaz gráfica) el directorio del script correspondiente rc5.d,
Figura:
Startup script 2
El directorio rc5.d contiene los scripts K y los scripts S. Cuando se inicia el sistema, el inicio se vincula con estos símbolos. La secuencia de números comienza con
todos los scripts S. se abren. Cuando el sistema se apaga, init también cierra las aplicaciones correspondientes a todos los scripts en orden.
Puede ver que estos enlaces simbólicos en realidad apuntan al script de inicio en el directorio init.d:
Script de inicio 3
Script de inicio 4
Ahora mire hacia atrás en el contenido del directorio rc0.d (es decir, cierre del sistema):
Guión de inicio 5
Puede ver todos los enlaces simbólicos que comienzan con K en el directorio rc0.d, cuando escribimos Todos los servicios del sistema están cerrados por
cuando se ordena init 0.
El contenido del otro directorio rcx.d es similar, son algunos enlaces simbólicos al script de inicio, simplemente coloque diferentes enlaces simbólicos de script de inicio según diferentes niveles de ejecución
.
Tres, el orden de los servicios de inicio personalizados
Antes de introducirlo en el directorio rcx.d, el enlace simbólico al script de inicio se compone de K o S + número + nombre del servicio, en medio de este
Los números son muy importantes. Cuando se inicia el sistema, todos los scripts que comienzan con S se ejecutan en incrementos de este número. Cuando el sistema se apaga, todos los scripts que comienzan con K se ejecutan de acuerdo con este número de
.
Sabiendo esto, podemos controlar el orden en que los servicios se inician de acuerdo con nuestras propias necesidades.
¿Cómo personalizar los enlaces simbólicos?
Secuencia de inicio:
#ln -s /etc/init.d/smb S60smb //Redefiniendo el orden de inicio de la secuencia de comandos del servicio smb
Figura:
Startup script 6
Start script 7
Cerrar script:
#ln -s /etc/init.d/smb K60smb //Al igual que el script de inicio, S cambió a linux boot inicia automáticamente el método de script 1, los puntos de conocimientos básicos relacionados 1) El modo de inicio de Redhat y el orden de ejecución se cargan. El primer script /etc/rc.d/rc $ RUNLEVEL # $ RUNLEVEL modo de ejecución predeterminado /etc/rc.d/rc.local #El nivel correspondiente después de que se inicia el servicio, el archivo se ejecuta (de hecho, también puede ser necesario El comando ejecutado se escribe en el archivo) /sbin /mingetty #Wait para inicio de sesión de usuario
En Redhat, /etc/rc.d/rc.sysinit realiza el mismo trabajo de inicialización en cada modo de ejecución, incluido : Llamando al mapa de teclas y las fuentes del sistema
Comenzando el intercambio
Configurando el nombre de host
Configurando el nombre de dominio NIS
Comprobando (fsck) y montando el sistema de archivos
Cuota abierta
Cargar módulo de tarjeta de sonido
Configurar el reloj del sistema
Espera.
/etc/rc.d/rc Los scripts en el directorio apropiado de la línea
se ejecutan de acuerdo con el modo de ejecución especificado por sus parámetros (nivel de ejecución, que puede establecer en el archivo inittab). Cualquier cosa que comience con Kxx se llama con stop como el argumento; si comienza con Sxx,
se llama con el inicio como argumento. El orden de las llamadas se ejecuta desde xx hasta pequeño.
(donde xx es un número, que indica el orden de
). Por ejemplo, asumiendo que el modo de operación predeterminado es 3, /etc/rc.d/rc llamará a /etc/rc.d como se describió anteriormente.
script bajo /rc3.d/. Vale la pena mencionar que los modos de ejecución 2, 3 y 5 en Redhat usan /etc/rc.d/rc.local como el último
en el script de inicialización, para que el usuario pueda poseer este archivo. Agregue algunos comandos que deben ejecutarse
antes de iniciar sesión después de otro trabajo de inicialización.
init Después de esperar a que se ejecute /etc/rc.d/rc (porque la acción en /etc/rc.d/rc en /etc /inittab está a la espera),
será Ejecute /sbin /mingetty en cada terminal virtual especificada y espere el inicio de sesión del usuario.
En este punto, el inicio de LINUX termina.
2) niveles de ejecución y directivas de init
1. Qué es INIT:
init es uno de los programas indispensables en las operaciones del sistema Linux.
El llamado proceso de inicio, que es un proceso de nivel de usuario iniciado por el kernel.
Una vez que el kernel se inicia solo (se ha cargado en la memoria, se ha iniciado la ejecución y se han inicializado todos los controladores de dispositivos y los nodos de datos), se inicia con un programa de inicio de programa de usuario. La forma de completar el proceso de arranque. Por lo tanto, init es siempre el primer proceso de
(su número de proceso es siempre 1).
El kernel lo buscará en algunos lugares donde se ha utilizado init en el pasado, y su ubicación correcta (para sistemas Linux) es
en el servidor RedHat Enterprise Linux 5.4 Entorno del sistema Sistema operativo: servidor RedHat
Primero, la instalación de VirtualBox y los pasos de instalación del paquete de expansión es demasia
Para facilitar el uso, guardaremos la sesión de Xshell. Como transferir la información de sesión gua
Después VPN se establece la conexión, es necesario realizar los siguientes ajustes: 1, haga cli
partición del disco duro centos tres opciones
Creación del sistema de archivos Linux integrado con busybox
Linode VPS modifica el tutorial de configuración de zona horaria
Centos 5.5 configura vnc, abra Linux, tutorial de escritorio remoto
Tutorial de la tarjeta de red de configuración de Linux
Instale el programa de marcación por Internet ADSL en SUSE Linux
Tutorial básico de la actualización del kernel de Linux
Cómo modificar el tamaño del espacio SWAP en Linux
Método de montaje para partición de disco y disco duro móvil bajo Linux
Aprendizaje simple de make y makefile
Ver el resumen del tráfico del servidor Linux
Notas de estudio de comunicación serie bajo el sistema operativo Linux
Cómo instalar win7 y win8 sistema dual u velocidad instalación win7 y win8 sistema dual tutorial
Eliminar la contraseña del administrador de Windows XP
establecer la política de caché de IIS tutoriales gráficos
Cómo reemplazar el icono del disco U
Fácil de jugar Win8 habilidades de aplicación de vídeo de pantalla de inicio
Solución de pantalla negra Win7
Serie de optimización de Windows2003 --- aceleración del sistema
¿Por qué win7 tiene un código de error de pantalla azul 0x0000007F?
Win10 cancela el enlace de Microsoft para iniciar sesión con la cuenta local