INIT = / bin / shカーネルパラメータで起動した直後にシェルをシャットダウンすると、システムは完全にアイドルですか?

INIT = / bin / shカーネルパラメータで起動した直後にシェルをシャットダウンすると、システムは完全にアイドルですか?

次のように始めたらどうなりますか?

GRUB コマンドラインまたは同様のコマンドを介してカーネルに引数を渡し、シェルがロードされるとINIT=/bin/sh(or /bin/bash)開始
します。これにより、コンピュータはどのキーを押しても応答しなくなります。

気になる状態現在のシステム。私が知っている限り、これはinitカーネルがロードされた後に実行される最初のプロセスであり、他のプロセスはここで実行さfork/bin/shますinit。します。

走るほどアイドル状態ですか?

while (1) {
    sleep(1);
}

それとも何ですか?

皆様のご提案ありがとうございます。たぶん、より多くの情報が役に立つでしょう。私はこれが不要だと思いました。

私は最近CentOS 7.2サーバーで作業していましたが、XFSディスクパーティションの1つが機能し、システムの起動時に確認して回復するのに無限の時間がかかりました。/etc/fstabこのパーティションの自動マウントをオフにするように編集する予定です。通常の起動プロセスが中断されたため、init=/bin/bashシステムをbashで起動したことがあります。編集後に誤ってシェルを実行しましたがfstabexitこれにより、画面がどのキーを押してもCtrl-Alt-Del反応しなくなります(含む)。(その部屋がうるさいので、CPUが一生懸命働いているかどうかはわかりませんでした)。この現象は私が最初に書いた質問について考えさせました。

今夜、私はDebian 8がインストールされている私のラップトップでいくつかのテストを行いました。カーネルパニックが明らか

ベストアンサー1

驚きました。私の理解はPID 1を終了することですカーネルパニック発生。そこで何が起こったのか教えてくれます。

パニック動作は設定可能です。到達するデフォルトオプションを使用すると、リングあなたが言ったのとまったく同じです。

使用される遅延関数は次のとおりです。録音された「忙しい待機」で。これはいいえ通常、アイドル状態のときにオペレーティングシステムによって使用されるスリープCPUスリープ状態に入ることが予想されます。

パニックプリントのバックトレースを見ると、これがすべて起こることがわかりますsys_exit()。技術的には、PID 1は破損せず、システムコールから決して返されません。まず、別のCPUを停止してください。

(ということがあります。「アイドルスレッド開始」。私はそれがそのプロセスに関与しているとは思わない。 AFAICT あなたはこのスレッドを見ることができないでしょう。これをアイドルスレッドとして理解するには、他のCPUがオンラインになったときにアイドルスレッドを提供するものが何であるかを尋ねる必要があります。

おすすめ記事