.\" Translated into Spanish on Mon Apr, 19 1999 by .\" Pedro Pablo Fábrega .\" .\"{{{}}} .\"{{{ Título .TH INIT 8 "9 Marzo 1998" "Linux" "Manual del Administrador de Sistemas" .\"}}} .\"{{{ Nombre .SH NOMBRE init, telinit \- control de inicialización de procesos .\"}}} .\"{{{ Sinopsis .SH SINOPSIS .B /sbin/init .RB [ " 0123456Ss " ] .br .B /sbin/telinit .RB [ " \-t sec " ] .RB [ " 0123456sSQqabcUu " ] .\"}}} .\"{{{ Descripción .SH DESCRIPCIÓN .\"{{{ init .SS Init .B Init es el padre de todos los procesos. Su papel primario es crear procesos a partir de un guión guardado en el fichero \fB/etc/inittab\fP (véase \fIinittab\fP(5)). Este fichero normalmente tiene entradas que harán que se levante \fBgetty\fPs en cada línea en que los usuarios puedan conectarse. También controla procesos autónomos requeridos por un sistema particular. .PP .\"{{{ Niveles de Ejecución (Runlevels) .SH NIVELES DE EJECUCIÓN (RUNLEVELS) Un \fInivel de ejecución\fP es una configuración de software del sistema que permite existir sólo a un grupo de procesos seleccionado. Los procesos levantados por \fBinit\fP para cada uno de estos niveles de ejecución se definen en el fichero \fB/etc/inittab\fP. \fBInit\fP puede estar en uno de los ocho niveles de ejecución: \fB0\(en6\fP y \fBS\fP o \fBs\fP. El cambio de nivel de ejecución se hace mediante un usuario con privilegio que ejecute \fBtelinit\fP, que envía las señales apropiadas a \fBinit\fP, diciéndole a qué nivel de ejecuación tiene que cambiar. .PP Los Niveles de Ejecución \fB0\fP, \fB1\fP, y \fB6\fP están reservados. El Nivel de Ejecución 0 es usa para detener el sistema, el Nivel de Ejecución 6 se utiliza para reiniciar el sistema y el Nivel de Ejecución 1 se usa para llevar al sistema al modo monousuario.El Nivel de Ejecución \fBS\fP no significa que se use directamente, pero la mayoría de los guiones se ejecutan cuando se entra al Nivel de Ejecución 1. Paraa más información sobre esto, vea las páginas del manual de \fBshutdown\fP(8) y \fBinittab\fP(5). .PP Los niveles 7-9 también son válidos, aunque realmente no están documantados. Esto es porque las variantes Unix tradicionales no los usan. En caso de que sea curioso, los niveles de ejecución \fIS\fP y \fIs\fP ason de hecho el mismo. Internamente se les renombra para el mismo nivel de ejecución. re in fact the same. Internally they are aliases for the same runlevel - this is just a leftover from the systems the author used to use when writing sysvinit. .\"}}} .PP .SH CARGA Tras llamar a \fBinit\fP como el último paso de la secuencia de carga del núcleo, busca el fichero \fB/etc/inittab\fP para ver si hay una entrada del tipo \fBinitdefault\fP (véase \fIinittab\fP(5)). La entrada \fBinitdefault\fP determina el nivel de ejecución inicial del sistema. Si no está esa entrada (o no existe \fB/etc/inittab\fP ), se debe introducir un nivel de ejecución en la consola del sistema .PP El nivel de ejecución \fBS\fP o \fBs\fP lleva al sistema al modo monousuario y no requiere un fichero \fB/etc/initttab\fP . En modo monousuario, se llama a \fB/sbin/sulogin\fP en \fB/dev/console\fP. .PP Cuando se entra en modo monusuario, \fBinit\fP lee el estado \fIioctl\fP(2) de \fB/etc/ioctl.save\fP. Si no existe este fichero, \fBinit\fP inicializa la línea a \fB9600 baud\fP y con valores \fBCLOCAL\fP. Cuando \fBinit\fP deja el modo monousuario, guarda los valores \fIioctl\fP de la consola en este fichero para que se pueda usar en la siguiente sesión monousuario. .PP Cuando se entra por primera vez en un modo multiusuario, \fBinit\fP realiza las entradas \fBboot\fP y \fBbootwait\fP para permitir que se monten los sistemas de ficheros antes de que los usuarios se presenten al sistema. Entonces se procesan todas las entradas para este nivel. .PP Cuando inicia un nuevo proceso, \fBinit\fP primero verifica si existe el fichero \fI/etc/initscript\fP. Si existe, usa este script para iniciar el proceso. .PP Cada vez que un hijo termina, \fBinit\fP registra el hecho y la razón de su muerte en \fB/var/run/utmp\fP y \fB/var/log/wtmp\fP, suponiendo que estos ficheros existen. .SH CAMBIO DE NIVEL DE EJECUCIÓN Tras haber lanzado todos los procesos especificados, \fBinit\fP espera a que alguno de sus procesos descendientes muera, una señal de fallo de alimentación o hsata que se le indique por \fBtelinit\fP que cambie el nivel de ejecución del sisema. Cuando alguna de las tres condiciones anteriores ocurre, re-examina el fichero \fB/etc/inittab\fP. Se pueden añadir nuevas entradas a este fichero en cualquier momento. Sin embargo, \fBinit\fP aun espera a que alguna de las tres condiciones anteriores suceda. Para proporcionar un respuesta inmediata, \fBtelinit Q\fP o el mandato \fBq\fP puede levantar \fBinit\fP para que re-examine el fichero \fB/etc/inittab\fP. .PP Si \fBinit\fP no está en modo monousuario una señal de fallo de alimentación, se llaman las entradas especiales powerfail. .PP Cuando se lesolicita a \fBinit\fP que cambie el nivel, envía la señal de aviso \s-1\fBSIGTERM\fP\s0 a todos los procesos que no están definidos en el nuevo nivel de ejecución. Espera 5 segundos antes de forzar la terminación de estos procesos mediante la señal \s-1\fBSIGKILL\fP\s0. Observe que \fBinit\fP supone que todos estos procesos (y sus descendientes) permanecen en el mismo grupo de procesos que \fBinit\fP creó originalmente para ellos. Si cualquier proceso cambia la afiliación de grupo de proceso no recibirá estas señales. Tales procesos necesitan ser terminados de forma separada. .\"}}} .\"{{{ telinit .SH TELINIT \fB/sbin/telinit\fP está enlazado con \fB/sbin/init\fP. Toma un argumento de un solo carácter y señala a \fBinit\fP para realizar la acción apropiada. Los siguientes argumetos sirven como directivas para \fBtelinit\fP: .IP "\fB0\fP,\fB1\fP,\fB2\fP,\fB3\fP,\fB4\fP,\fB5\fP o \fB6\fP" indica a \fBinit\fP que cambie al nivel de ejecución especificado. .IP \fBa\fP,\fBb\fP,\fBc\fP indica a \fBinit\fP que procese sólo las entradas del fichero \fB/etc/inittab\fP que tengan nivel de ejecución \fBa\fP,\fBb\fP o \fBc\fP. .IP "\fBQ\fP o \fBq\fP" indica a \fBinit\fP que re-examine el fichero \fB/etc/inittab\fP. .IP "\fBS\fP o \fBs\fP" indica a \fBinit\fP que cambie a modo monousuario. .IP "\fBU\fP or \fBu\fP" indica a \fBinit\fP que reejecute él mismo (guardando el estado). No re-examining el fichero \fB/etc/inittab\fP. El nivel de ejecución debería ser uno de \fBSs12345\fP, en otro caso la solicitud sería ignorada silenciosamente. .PP \fBtelinit\fP ptambién puede decir a \fBinit\fP cuanto esperará entre los envíos a los procesos de las señales SIGTERM y SIGKILL. El valor por defecto es is 5 segundos, pero se puede cambiar con la opción \fB-t sec\fP. .PP \fBtelinit\fP sólo se puede llamar por usuarios con los privilegios apropiados. .PP El binario \fBinit\fP comprueba si es \fBinit\fP o \fBtelinit\fP mirando a su \fIid de proceso\fP; el id del proceso \fBinit\fP real es siempre \fB1\fP. De esto podemos concluir que en lugar de llamar a \fBtelinit\fP se puede usar \fBinit\fP en su lugar como abreviatura. .\"}}} .\"}}} .SH ENTORNO \fBInit\fP fija las siguientes variables de entorno para todos sus hijos: .IP \fBPATH\fP \fI/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin\fP .IP \fBINIT_VERSION\fP Como el nombre dice. Útil para determinar si un guión corre directamente de \fBinit\fP. .IP \fBRUNLEVEL\fP El nivel actual de ejecución del sistema. .IP \fBPREVLEVEL\fP El nivel de ejecución previo (útil tras un cambio de nivel). .IP \fBCONSOLE\fP La consola del sistema. Esto realmente es heredado del núcleo; sin embargo si no está fijado \fBinit\fP lo pondrá como \fB/dev/console\fP por defecto. .SH BANDERAS DE CARGA Es posible pasar un número de banderas a \fBinit\fP desde el monitor de arranque (v.g. LILO). \fBInit\fP acepta las siguientes banderas: .TP 0.5i .B S, single Arranque en modo monousuario. En este modo \fI/etc/inittab\fP se examina y los guiones de carga rc normalmente se ejecutan antes de que la shell del modo monousuario se inicie. .PP .TP 0.5i .B 1-5 Nivel de ejecución en el que arrancar. .PP .TP 0.5i .B -b, emergency Carga directamente en una shell monousuario sin ejecutar cualquier otro guion de inicio. .PP .SH INTERFAZ Init escucha en un \fIfifo\fP en /dev, \fI/dev/initctl\fP, los mensajes. \fBTelinit\fP usa esto para comunicar con init. La interfaz no está muy bien documentada o acabada. Quienes estén interesados debería estudiar el fichero \fIinitreq.h\fP del subdirectorio \fIsrc/\fP del código fuente de \fBinit\fP . .SH SEÑALES Init reacciona ante diversas señales: .TP 0.5i .B SIGHUP Init busca .I /etc/initrunlvl y .I /var/log/initrunlvl. Si uno de estos ficheros existe y contiene un nivel de ejecución ASCII, init cambia al nuevo nivel de ejecución.\fI ¡Esto es por compatibilidad anterior sólo! \fP. En el cso normal (el fichero no existe) init se comporta como cuando se ejecuta \fB telinit q\fP. .PP .TP 0.5i .B SIGUSR1 Al recibir esta señal, init cierra y reabre su fifo de de control \fB/dev/initctl\fP. Ess útil para los guiones de arranque cuando se vuelve a montar /dev. .TP 0.5i .B SIGINT Normalmente el núcleo envía esta señal a init cuando se pulsa CTRL-ALT-SUPR. Esto activa la acción \fIctrlaltdel\fP. .TP 0.5i .B SIGWINCH El núcleo envía esta señal cuado se pulsa la tecla \fIKeyboardSignal\fP. Activa la acción \fIkbrequest\fP. \"{{{ Conforme a .SH CONFORME A \fBInit\fP es compatible con el init System V init. Funciona junto a los guiones de lso directorios \fI/etc/init.d\fP y \fI/etc/rc{runlevel}.d\fP. Si su sistema usa esta convención, debería haber un fichero \fIREADME\fP en el directorio \fI/etc/init.d\fP que explica como funcionan estos guiones. .\"}}} .\"{{{ Ficheros .SH FICHEROS .nf /etc/inittab /etc/initscript /dev/console /etc/ioctl.save /var/run/utmp /var/log/wtmp /dev/initctl .fi .\"}}} .\"{{{ Advertencias .SH ADVERTENCIAS \fBInit\fP supone que procesos y descendientes de procesos permanecen en el mismo grupo de procesos que se creó originalmente para ellos. Si los procesos cambian su grupo \fBinit\fP no puede matarlos y v.d. puede acabar con dos procesos leyendo de una línea del terminal. .\"}}} .\"{{{ Diagnósticos .SH DIAGNÓSTICOS Si \fBinit\fP encuantra que está levantando continuamente una entrada, más de 10 veces en dos minutos, supondrá que es un error en la cedena del mandato, genera un mensaje de error en la consola del sistema y rehusa levantar esta entrada hasta que hayan pasado 5 minutos o recibas una señal. Esto no previene de que se coma los recursos del sistema cuando alguien comete un error tipográfico en el fichero \fB/etc/inittab\fP o en el programa para el que se elimina la entrada. .\"}}} .\"{{{ Autor .SH AUTOR Miquel van Smoorenburg (miquels@cistron.nl), página de manual inicial por Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de). .\"}}} .\"{{{ Véase también .SH "VÉASE TAMBIÉN" .BR getty (1), .BR login (1), .BR sh (1), .BR who (1), .BR shutdown(8), .BR kill (1), .BR inittab (5), .BR initscript (5), .BR utmp (5) .\"}}}