~からオペレーティングシステムがシャットダウンしたら、サービス管理者はSIGTERMとSIGKILLをそのサービスに送信する必要があることをどのように知ることができますか?
systemdは初期化マネージャーでありサービスマネージャーです。
「初期化」と「サービスマネージャ」の違いは何ですか?
私の考えでは、両方とも同じように見えますか?
「サービスマネージャ」の代わりに「init」の例はありますか?その反対?
ありがとうございます。
ベストアンサー1
init
プロセス#1で実行されるプログラムの一般的な名前。これは長年にわたってさまざまな形をとってきましたinit
。混乱することは、管理者がプロセス#1と通信するために使用するコマンドの名前でもあります。それらは2つの異なるものとして最もよく見ることができ、AT&T Unixでは確かにそのように文書化されています。一部のソフトウェアでは、見つかったプロセスIDに応じて異なる動作を持つすべてのプログラムが混在していますが、状況をさらに混乱させるために、プロセス#1はシステムの存続期間中に複数の異なるプログラムを実行することがinit
でき/init
ます/sbin/init
。 、通常電子で接続されています)。
ㅏサービスマネージャ名前が示すように、サービスを管理するプログラムです。実際、長年にわたって広範なオペレーティングシステムソフトウェアでプロセス#1として実行される必要はありません。一般的にそうではありませんプロセス #1.サービスマネージャにはGerrit Papeが含まれます。runsv
ローラン ベルコート(Laurent Belcote)s6-supervise
想像の中の名前までservice-manager
私のおやつに。 AT&T Unix System 5 Release 4用のサービスアクセスツール、IBM AIX 3.1用のシステムリソースコントローラ、Solaris用のサービス管理ツールも含まれています。これは、統合され、一貫性があり、既知のコンテキストでサービスプログラムを生成し、これらのサービスを制御(開始、終了、再起動、およびキャンセル)し、残りのシステムが状態を照会するためのメカニズムを提供します。
ㅏシステム管理者システムを管理し、システム状態の変化を処理するプログラムです。それは一般的ですはいプロセス#1として実行します。これは部分的にオペレーティングシステムのカーネルがこれを特別に処理し、停電イベントやカーネル仮想端末キーボードデバイスの特殊キーコード(Linux
⇮+ または + + 生成プロセスで↑生成されたキーコードなど)のシステム状態変更要求に関する情報を提供します。送るからです。 #1)。また、起動時に初期システム状態を設定し、時にはシャットダウン時にシステム状態を終了する役割も担います。SIGWINCH
⎈⎇⌦SIGINT
システム状態の詳細はソフトウェアによって異なります。 van Smoorenburgはinit
(現在は使用されていない)ランレベルの面で動作します。 BSDinit
のステートマシンは完全に内部的で、次の状態を持ちます。走る/etc/rc
、マルチユーザーとシングルユーザー。
例示的な研究:
systemd
プロセス#1プログラムです。 1 つのプログラムでサービス管理とシステム管理を実行し、そのプロセスとして実行されます。ただし、システム状態の仕上げを処理せずに、代わりにプロセス#1systemd-shutdown
そのような理由で。システム状態の変更は通常、サービスマネージャの起動/停止の形式です。ターゲットこれにより開始/停止が発生します。提供する。emergency.service
たとえば、一部のサービスはアクティブsystemd-halt.service
になるとそれ自体で実行され、追加のsystemctl
システム状態を変更するためにプロセス#1にコマンドを返します。この設計では、終了は2つの状態シーケンスです。- 想像の中の名前
system-manager
私のNosh Toosetには、システム管理者の役割のみを実行するプロセス#1プログラムがあります。起動時に初期化され、終了時に完了します。 (システム全体)サービスマネージャを作成してシステムを管理します。別のプロセスとしてそして様々な通貨system-control
イベントに応答するプログラム。 (たとえば、KVTキーボードの++コードをSIGINT
使用すると、実行するサブプロセスが生成されます。)サービスマネージャにコマンドを実行して、サービスとターゲットを起動および停止します。同様に、複数のサービス/ターゲット呼び出しはコマンドを再送信します。⎈⎇⌦system-control start secure-attention-key
system-control
system-control
システム管理者は、アクティブになると追加のシステム状態の変更を要求できます。サービスプロセスはプロセス#1の孫です。 runit
システム管理のみを実行するプロセス#1プログラム。他のプロセスと同様に、サービスマネージャを作成します。これはシェルスクリプトを呼び出すことによって行われます。 runitの人々はこれを「ステップ2」と呼び、チェーンにロードされます。runsvdir
これは次にrunsv
プロセス#1の孫として複数のプログラムを生成する。サービスプロセスはプロセス#1の子孫です。システム管理は、シグナルとフラグファイルの組み合わせによってトリガーされる「3つのシェルスクリプトのみを実行する」アプローチを使用します。- システム5
init
は、システム管理のみを実行するプロセス#1プログラムです。前述のシステム状態ランレベルがあり、理論的にはサービス管理者でもあります。実際には、サービス管理機能があまりにも悪く、数年が経つと、TUIログインサービスの管理にも使用されなくなります。これは、前述のSAFおよびSRC形式のサブプロセスとして(より強力な)サービスマネージャを作成します。1990年には、使用中のランレベルの数が1に減り、
system-manager
数十年後に実際にはnoshとほぼ同じデザインが誕生しました。プロセス#1は、主にService Managerサブプロセスを生成し、カーネルイベントに応答してコマンドを実行するためのより多くのサブプロセスを生成しました。管理者コマンド。サービスプロセスは、プロセス#1の子孫であり、さまざまなサービスマネージャプロセスの孫であり子プロセスです。 (TUIログインサービスプロセスは、たとえばプロセス#1で作成されttymon
たプロセスで作成されますsac
。) - van Smoorenburgは、前述のSystem 3およびSystem 5がリリースされる数年前のUnixサービスマネージャと同じです
init
。これはシステム管理者として機能し、一部のサービスも管理するプロセス#1プログラムです(たとえ機能が少ない方法ですが、システム5などの個々のサービスの起動/停止をきめ細かく制御することはできません)。サービス管理は、実際に実行されている場合(サービスプログラムをフォークしてほとんど忘れないでください)、子プロセスの他のプログラムで行われます。init
init
init
systemd
Nosh ツールセットとは異なり、system-manager
一部のシステム管理タスクは子プロセスで実行されるプログラムに委ねられます。どちらも、プロセス#1systemd
でシステムの電源を切る/再開/停止する(カーネルの適切なシステムコールを実行する)最後の操作を実行していますsystem-manager
(他のプログラムではsystemdの場合にもかかわらず)、van Smoorenburgシステムはこれを行います。呼び出して子プロセスで実行されますrc
。たとえば、システムを停止するための最終システム呼び出しは、halt
サブプロセスrc
(プロセス#1のサブプロセス)として実行されるシェルスクリプトによって実行されます。halt
プログラムを順次実行(プロセス#1の子孫として)実際にシステムコールを実行します。
追加読書
- ジョナサンデボインポラード(2018)。 Unix サービスアクセスツール。一般的な答え。
- ジョナサンデボインポラード(2015)。
/etc/inittab
それは過去の仕事です。。一般的な答え。 - ジョナサンデボインポラード(2018)。 実行レベルは過去の仕事です。。一般的な答え。
- ジョナサンデボインポラード(2018)。
getty
init
過去に生まれました。。一般的な答え。 - Linux - 初期化を含むIPC
- initは丁度何をするか。
- Linuxサーバーをシャットダウンするコマンドの違いは何ですか?
- https://retrocomputing.stackexchange.com/a/8290/1932