質問内の質問(Debian wikiから):
デスクトップでsidを使用する必要がありますか?
壊れたDebianシステムを処理できると思うなら、きっと。libpam0gが壊れてすべてのログインができなくなった場合の対処方法を知っていますか?grepが壊れてブートプロセスが永久にハングした場合の対処方法を知っていますか?これらのことが起こりました。彼らは再び起こります。
私の質問は、壊れgrep
たブートプロセスがどのようにして永遠にハングするのですか?
質問内の質問(Debian wikiから):
デスクトップでsidを使用する必要がありますか?
壊れたDebianシステムを処理できると思うなら、きっと。libpam0gが壊れてすべてのログインができなくなった場合の対処方法を知っていますか?grepが壊れてブートプロセスが永久にハングした場合の対処方法を知っていますか?これらのことが起こりました。彼らは再び起こります。
私の質問は、壊れgrep
たブートプロセスがどのようにして永遠にハングするのですか?
回答:
ブートスクリプトがいつか呼び出さgrep
れることはよくあります。grep
バグが原因でハングした場合、これらの起動スクリプトの最初の呼び出しgrep
がハングします。または、より一般的には、これらのスクリプトの1つが壊れていてgrep
、ファイル名引数を指定せずに入力をリダイレクトせずに呼び出した場合grep
、コンソール入力を待機し続けます(これは、コンソールの前にいて、タイプCtrl+D
)。スクリプトが壊れていて、grep
誰も書いていないパイプまたはデバイスを呼び出す場合...残念です。
まあ、明らかな方法は「grepが永久にハングするため、grepを使用するものは永久にハングし、ブートプロセスの何かがそれを行う」ということになります。
テキストは、問題の文字通りの例ではなく、説明的なものである可能性がありますが、不可能ではありません。
本当に理解するために、から読み始め/etc/init.d/rc
てください/etc/init.d/rcS
-これらは、システムを起動するすべてのビットを実行するシェルスクリプトです。
grep
はgrep -r pattern . > pattern.grep
です。シェルが起動する前に、出力ファイルを作成するのでgrep
、grep
コマンドは、ディスクがいっぱいになるまで成長し、出力ファイルを検索します。これがブートプロセスを永久にハングさせる原因となるものに関連しているかどうかはわかりません。