“O Grep quebra, fazendo com que o processo de inicialização seja interrompido para sempre”


10

Pergunta dentro de uma pergunta (do wiki Debian ):

Devo usar o sid na minha área de trabalho?

Se você acha que pode lidar com um sistema Debian quebrado, com certeza. Você sabe o que fazer se a libpam0g quebrar, impedindo todos os logins? Você sabe o que fazer se o grep quebrar, fazendo com que o processo de inicialização seja interrompido para sempre? Essas coisas aconteceram. Eles acontecerão novamente.

Minha pergunta é: como uma falha grepcausa um travamento do processo de inicialização para sempre?


4
Um erro que cometi grepé grep -r pattern . > pattern.grep. Como o shell cria o arquivo de saída antes de chamar grep, o grepcomando pesquisa o arquivo de saída, que cresce até o disco ficar cheio. Não tenho idéia se isso está relacionado a algo que poderia causar o processo de inicialização para sempre.
Keith Thompson

Respostas:


8

É comum chamar scripts de inicialização grepem algum momento. Se greptravar por causa de um bug, o primeiro desses scripts de inicialização que grepserão interrompidos. Ou, mais comumente, se um desses scripts estiver quebrado e as chamadas grepsem fornecer um argumento de nome de arquivo e sem redirecionar a entrada, grepficarão esperando eternamente pela entrada do console (isso não é tão ruim se você estiver na frente do console e puder tipo Ctrl+D). Se um script estiver quebrado e chamar grepum canal ou dispositivo em que ninguém esteja escrevendo ... muito ruim.


5

Bem, a maneira óbvia seria "grep trava para sempre, então algo que usa grep trava para sempre, e algo no processo de inicialização faz isso".

É provável que o texto seja ilustrativo, e não exemplos literal de problemas, mas não é impossível.

Para realmente entender, comece a ler em /etc/init.d/rce /etc/init.d/rcS- esses são os scripts de shell que executam todos os bits que abrem seu sistema.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.