Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
init, telinit - control de inicializacion de procesos
SINOPSIS
/sbin/init [ 0123456Ss ]
/sbin/telinit [ -t sec ] [ 0123456sSQqabcUu ]
DESCRIPCI'ON
Init
Init es el padre de todos los procesos. Su papel primario es crear
procesos a partir de un guion guardado en el fichero /etc/inittab
(vease inittab(5)). Este fichero normalmente tiene entradas que haran
que se levante gettys en cada linea en que los usuarios puedan
conectarse. Tambien controla procesos autonomos requeridos por un
sistema particular.
NIVELES DE EJECUCI'ON (RUNLEVELS)
Un nivel de ejecuci'on es una configuracion de software del sistema que
permite existir solo a un grupo de procesos seleccionado. Los procesos
levantados por init para cada uno de estos niveles de ejecucion se
definen en el fichero /etc/inittab. Init puede estar en uno de los
ocho niveles de ejecucion: 0-6 y S o s. El cambio de nivel de
ejecucion se hace mediante un usuario con privilegio que ejecute
telinit, que envia las senales apropiadas a init, diciendole a que
nivel de ejecuacion tiene que cambiar.
Los Niveles de Ejecucion 0, 1, y 6 estan reservados. El Nivel de
Ejecucion 0 es usa para detener el sistema, el Nivel de Ejecucion 6 se
utiliza para reiniciar el sistema y el Nivel de Ejecucion 1 se usa para
llevar al sistema al modo monousuario.El Nivel de Ejecucion S no
significa que se use directamente, pero la mayoria de los guiones se
ejecutan cuando se entra al Nivel de Ejecucion 1. Paraa mas informacion
sobre esto, vea las paginas del manual de shutdown(8) y inittab(5).
Los niveles 7-9 tambien son validos, aunque realmente no estan
documantados. Esto es porque las variantes Unix tradicionales no los
usan. En caso de que sea curioso, los niveles de ejecucion S y s ason
de hecho el mismo. Internamente se les renombra para el mismo nivel de
ejecucion. 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.
CARGA
Tras llamar a init como el ultimo paso de la secuencia de carga del
nucleo, busca el fichero /etc/inittab para ver si hay una entrada del
tipo initdefault (vease inittab(5)). La entrada initdefault determina
el nivel de ejecucion inicial del sistema. Si no esta esa entrada (o
no existe /etc/inittab ), se debe introducir un nivel de ejecucion en
la consola del sistema
El nivel de ejecucion S o s lleva al sistema al modo monousuario y no
requiere un fichero /etc/initttab . En modo monousuario, se llama a
/sbin/sulogin en /dev/console.
Cuando se entra en modo monusuario, init lee el estado ioctl(2) de
/etc/ioctl.save. Si no existe este fichero, init inicializa la linea a
9600 baud y con valores CLOCAL. Cuando init deja el modo monousuario,
guarda los valores ioctl de la consola en este fichero para que se
pueda usar en la siguiente sesion monousuario.
Cuando se entra por primera vez en un modo multiusuario, init realiza
las entradas boot y bootwait 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.
Cuando inicia un nuevo proceso, init primero verifica si existe el
fichero /etc/initscript. Si existe, usa este script para iniciar el
proceso.
Cada vez que un hijo termina, init registra el hecho y la razon de su
muerte en
/var/run/utmp y /var/log/wtmp, suponiendo que estos ficheros existen.
CAMBIO DE NIVEL DE EJECUCI'ON
Tras haber lanzado todos los procesos especificados, init espera a que
alguno de sus procesos descendientes muera, una senal de fallo de
alimentacion o hsata que se le indique por telinit que cambie el nivel
de ejecucion del sisema. Cuando alguna de las tres condiciones
anteriores ocurre, re-examina el fichero /etc/inittab. Se pueden
anadir nuevas entradas a este fichero en cualquier momento. Sin
embargo, init aun espera a que alguna de las tres condiciones
anteriores suceda. Para proporcionar un respuesta inmediata, telinit Q
o el mandato q puede levantar init para que re-examine el fichero
/etc/inittab.
Si init no esta en modo monousuario una senal de fallo de alimentacion,
se llaman las entradas especiales powerfail.
Cuando se lesolicita a init que cambie el nivel, envia la senal de
aviso SIGTERM a todos los procesos que no estan definidos en el nuevo
nivel de ejecucion. Espera 5 segundos antes de forzar la terminacion de
estos procesos mediante la senal SIGKILL. Observe que init supone que
todos estos procesos (y sus descendientes) permanecen en el mismo grupo
de procesos que init creo originalmente para ellos. Si cualquier
proceso cambia la afiliacion de grupo de proceso no recibira estas
senales. Tales procesos necesitan ser terminados de forma separada.
TELINIT
/sbin/telinit esta enlazado con /sbin/init. Toma un argumento de un
solo caracter y senala a init para realizar la accion apropiada. Los
siguientes argumetos sirven como directivas para telinit:
0,1,2,3,4,5 o 6
indica a init que cambie al nivel de ejecucion especificado.
a,b,c indica a init que procese solo las entradas del fichero
/etc/inittab que tengan nivel de ejecucion a,b o c.
Q o q indica a init que re-examine el fichero /etc/inittab.
S o s indica a init que cambie a modo monousuario.
U or u indica a init que reejecute el mismo (guardando el estado). No
re-examining el fichero /etc/inittab. El nivel de ejecucion
deberia ser uno de Ss12345, en otro caso la solicitud seria
ignorada silenciosamente.
telinit ptambien puede decir a init cuanto esperara entre los envios a
los procesos de las senales SIGTERM y SIGKILL. El valor por defecto es
is 5 segundos, pero se puede cambiar con la opcion -t sec.
telinit solo se puede llamar por usuarios con los privilegios
apropiados.
El binario init comprueba si es init o telinit mirando a su id de
proceso; el id del proceso init real es siempre 1. De esto podemos
concluir que en lugar de llamar a telinit se puede usar init en su
lugar como abreviatura.
ENTORNO
Init fija las siguientes variables de entorno para todos sus hijos:
PATH /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
INIT_VERSION
Como el nombre dice. Util para determinar si un guion corre
directamente de init.
RUNLEVEL
El nivel actual de ejecucion del sistema.
PREVLEVEL
El nivel de ejecucion previo (util tras un cambio de nivel).
CONSOLE
La consola del sistema. Esto realmente es heredado del nucleo;
sin embargo si no esta fijado init lo pondra como /dev/console
por defecto.
BANDERAS DE CARGA
Es posible pasar un numero de banderas a init desde el monitor de
arranque (v.g. LILO). Init acepta las siguientes banderas:
S, single
Arranque en modo monousuario. En este modo /etc/inittab se examina
y los guiones de carga rc normalmente se ejecutan antes de que la
shell del modo monousuario se inicie.
1-5 Nivel de ejecucion en el que arrancar.
-b, emergency
Carga directamente en una shell monousuario sin ejecutar cualquier
otro guion de inicio.
INTERFAZ
Init escucha en un fifo en /dev, /dev/initctl, los mensajes. Telinit
usa esto para comunicar con init. La interfaz no esta muy bien
documentada o acabada. Quienes esten interesados deberia estudiar el
fichero initreq.h del subdirectorio src/ del codigo fuente de
init .
SE~NALES
Init reacciona ante diversas senales:
SIGHUP
Init busca /etc/initrunlvl y /var/log/initrunlvl. Si uno de estos
ficheros existe y contiene un nivel de ejecucion ASCII, init
cambia al nuevo nivel de ejecucion. ,iEsto es por compatibilidad
anterior s'olo! . En el cso normal (el fichero no existe) init se
comporta como cuando se ejecuta telinit q.
SIGUSR1
Al recibir esta senal, init cierra y reabre su fifo de de control
/dev/initctl. Ess util para los guiones de arranque cuando se
vuelve a montar /dev.
SIGINT
Normalmente el nucleo envia esta senal a init cuando se pulsa
CTRL-ALT-SUPR. Esto activa la accion ctrlaltdel.
SIGWINCH
El nucleo envia esta senal cuado se pulsa la tecla KeyboardSignal.
Activa la accion kbrequest.
CONFORME A
Init es compatible con el init System V init. Funciona junto a los
guiones de lso directorios /etc/init.d y /etc/rc{runlevel}.d. Si su
sistema usa esta convencion, deberia haber un fichero README en el
directorio /etc/init.d que explica como funcionan estos guiones.
FICHEROS
/etc/inittab
/etc/initscript
/dev/console
/etc/ioctl.save
/var/run/utmp
/var/log/wtmp
/dev/initctl
ADVERTENCIAS
Init supone que procesos y descendientes de procesos permanecen en el
mismo grupo de procesos que se creo originalmente para ellos. Si los
procesos cambian su grupo init no puede matarlos y v.d. puede acabar
con dos procesos leyendo de una linea del terminal.
DIAGN'OSTICOS
Si init encuantra que esta levantando continuamente una entrada, mas de
10 veces en dos minutos, supondra 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
senal. Esto no previene de que se coma los recursos del sistema cuando
alguien comete un error tipografico en el fichero /etc/inittab o en el
programa para el que se elimina la entrada.
AUTOR
Miquel van Smoorenburg (miquels@cistron.nl), pagina de manual inicial
por Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).
V'EASE TAMBI'EN
getty(1), login(1), sh(1), who(1), shutdown(8), kill(1), inittab(5),
initscript(5), utmp(5)