Linuxでは、再起動プロセスはどのように機能しますか?

Linuxでは、再起動プロセスはどのように機能しますか?

Linuxの再起動プロセスがどのように機能するかを検索しましたが、どこからでも起動/起動プロセスのみが見つかりました。マシンの違法再起動を想定して実行中のプロセス/サービスをどのように回復しますか(データベースが実行中であり、マシンを強制再起動する場合)。

ベストアンサー1

制御された再起動は基本的に正常なシャットダウンですが、最後に電源を切るのではなく、ハードウェアリセットプロセスが適用され、デフォルトで起動したときと同様に、ファームウェアはシステムを引き継いで再起動します。 (ファームウェアがシステムが「コールド」状態で起動していないことを検出できる場合は、一部のテストを短縮または省略することを選択できます。)

システム状態を自動的に保存するシステム全体のメカニズムはありません。ifconfigまたは、ipコマンドを使用してネットワークインターフェイスを設定したが、その設定ファイルを編集して設定を維持しなかった場合、構成が失われます。再起動するたびに。サービスを手動で開始したが(またはservice <something> startsystemctl start <something>、起動時に自動的に開始するように設定していない場合(例:またはchkconfig <something> onsystemctl enable <something>いいえ再起動後、自動的に起動します。

一部のシステム管理ツールは、NetworkManagerユーザーが明示的に変更しないことを指定しない限り、構成変更を維持するために構成ファイルを自動的に更新します。他の人が変化を起こす永久

一部のデスクトップ環境では、ユーザーが制御された方法でログオフし、一部のGUIプログラムがまだ実行されている場合は、次のログイン時に同じGUIプログラムが自動的に起動するようにユーザーセッションの状態を維持しようとすることがあります。しかし、プログラム自体が内部状態を維持するという保証はありません。一部はそうすることも、一部はそうではないかもしれません。 GUI環境のテキストベースのプログラムは、GUIログアウトをリモートSSHユーザーが突然ネットワーク接続を切断するのと同じように処理できます。特に、テキストエディタは、vi中断された操作を容易にするために、保存されていないデータを特別なバックアップファイルに保存することがよくあります。 。

システムが強制的にシャットダウンした場合(ハードウェアリセットボタンを押すか、電源コードを抜くなど)、すべての内容はRAMにのみ保存されます。〜する迷う。起動時にファイルシステムチェックは、ファイルシステムが正しくマウントされていないことを検出します。ジャーナルファイルシステムは通常、ファイルシステムメタデータを内部的に一貫性を保つために自動的にジャーナルリカバリを実行しますが、データもジャーナル処理されないと、一部のデータが実際に到達しないことがわかります。ディスク(\000最後に割り当てられたが書き込まれていないブロックには0バイトしかないため、ログファイルに重複文字列として表示される可能性があります)データベースは、強制終了後に一貫性のある回復操作を実行する必要があるかもしれません。

通常の制御されたシャットダウン(または再起動)には、次のものが含まれます。

  • ユーザーログインセッションの一部であるすべてのプロセスにHUPシグナルを送信し、終了する前に必要なタスクを実行できるようにします(保存されていないタスクのバックアップを保存するなど)。
  • 他のサービスに依存するサービスが依存するサービスの前に終了するように、合理的な順序でシステムサービスを終了します。大規模なデータベースのような場合、これはそれ自体かなりの作業です。
  • ユーザーのプロセスやシステムサービスがタイムリーに終了しない場合は、最初に通常のTERMシグナルを送信して少し時間をかけてから、最後にKILLシグナルを送信してプロセスが完了したり未解決のジョブをロールバックしたりできます。リクエストがある可能性があります。ただし、最終的にすべてのファイルを閉じてファイルシステムを完全にアンマウントできるように、プロセスを終了する必要があります。
  • 実行中の残りのプロセス数が必要な最小レベルに減った後、すべてのネットワークベースのファイルシステムを制御された方法でアンマウントして、アンマウントする前にすべてのキャッシュされた書き込みが完了したことを確認します。
  • ネットワークファイルシステムアクセスに関連するすべてのサービスを閉じます。
  • ローカルディスクへのすべてのキャッシュされた書き込みを完了し、通常は読み取り専用モードに移行するルートファイルシステムを除いて、そのディスクをアンマウントします。 (最新のファイルシステムは、エラーなしで正しくマウント解除されたことを記録できます。再マウントする前に回復操作は不要です。)
  • 最後に、カーネルは(適切な場合)システムの電源を切るかリセットするためにハードウェア信号を送信するように指示されます。

適切に構成されたシステムでは、systemdorコマンドを使用すると、initサブシステム(おそらく典型的なSysVinitなど)がこれらすべてを処理します。shutdown -hshutdown -r

を使用する場合は、reboot -f上記の最後の閉じるステップを除くすべてのステップを意図的にスキップすることを意味します。

おすすめ記事