"Grep se rompe, haciendo que el proceso de arranque se bloquee para siempre"


10

Pregunta dentro de una pregunta (del wiki de Debian ):

¿Debo usar sid en mi escritorio?

Si cree que puede manejar un sistema Debian dañado, seguro. ¿Sabes qué hacer si se rompe libpam0g, evitando todos los inicios de sesión? ¿Sabes qué hacer si grep se rompe y el proceso de arranque se bloquea para siempre? Estas cosas han sucedido. Volverán a suceder.

Mi pregunta es, ¿cómo un roto grephace que el proceso de arranque se bloquee para siempre?


44
Un error que he cometido grepes grep -r pattern . > pattern.grep. Como el shell crea el archivo de salida antes de invocarlo grep, el grepcomando busca el archivo de salida, que crece hasta que el disco se llena. No tengo idea de si esto está relacionado con algo que pueda causar que el proceso de arranque se bloquee para siempre.
Keith Thompson,

Respuestas:


8

Es común que los scripts de arranque llamen grepen algún momento. Si se grepbloquea debido a un error, grepse bloqueará el primero de estos scripts de arranque que llama . O, más comúnmente, si uno de estos scripts está roto y llama grepsin proporcionar un argumento de nombre de archivo y sin redirigir la entrada, grepse sentará para siempre esperando la entrada de la consola (eso no es tan malo si está frente a la consola y puede tipo Ctrl+D). Si un script está roto y llama grepa una tubería o dispositivo donde nadie está escribiendo ... qué mal.


5

Bueno, la forma obvia sería "grep se cuelga para siempre, entonces algo que usa grep se cuelga para siempre, y algo en el proceso de arranque lo hace".

Es probable que el texto sea ilustrativo en lugar de ejemplos literales de problemas, pero no es imposible.

Para comprender realmente, comience a leer en /etc/init.d/rcy /etc/init.d/rcS, esos son los scripts de shell que ejecutan todos los bits que activan su sistema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.