男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

Systemd 入門(mén)ガイド:実踐編

< Systemd 入門(mén)教程:命令篇

Systemd 入門(mén)ガイド:実踐編

著(zhù)者: 阮一峰:阮一峰(阮一峰)

日付: 2016年3月8日 → 2016年3月8日

前回の記事では、Systemdを紹介しました。 主なコマンド 今日は、それを使って基本的なタスクを完了する方法をお伝えします。 bg2016030801

一、起動(dòng)します

Systemdをサポートするソフトウェアでは、インストール時(shí)に自動(dòng)的に /usr/lib/systemd/system カタログに設定ファイルを追加してください。このソフトウェアを起動(dòng)時(shí)に自動(dòng)的に起動(dòng)させる場(chǎng)合は、以下のコマンドを実行してください(以下の通り)。 httpd.service (例)

上記のコマンドは、以下の意味に相當します。 /etc/systemd/system カタログにシンボリックリンクを追加して、指す /usr/lib/systemd/system 中に入ってる httpd.service ファイル。これは、起動(dòng)時(shí)に、 Systemd ただ実行する /etc/systemd/system 「目次內の設定ファイル。これは、変更した設定ファイルをそのフォルダに配置すれば、元の設定を上書(shū)きできるという意味です?!?

二、サービス開(kāi)始

起動(dòng)設定後に、ソフトウェアはすぐに起動(dòng)しません。次回起動(dòng)まで待つ必要があります。今すぐにこのソフトウェアを実行したい場(chǎng)合は、以下の手順を実行してください。 systemctl start 命令。起動(dòng)後すぐにはソフトウェアが立ち上がりません。次回起動(dòng)まで待つ必要があります。今すぐに実行したい場(chǎng)合は、次の操作を行います。 systemctl start 命令です。

コマンドを実行した後、起動(dòng)失敗する可能性がありますので、使用してください systemctl status サービスの狀態(tài)を確認してください。

上記の出力結果の意味は以下の通りです。

Loaded行:設定ファイルの場(chǎng)所、起動(dòng)時(shí)に設定するかどうか Active行:実行中 Main PID行:メインプロセスID Status行:アプリケーション(ここではhttpd)が提供するソフトウェアの現在の狀態(tài) CGroupブロック:アプリケーションの全てのサブプロセス ログブロック:アプリケーションのログ

三、サービス停止

サービスを停止させるには、以下の操作を行います。 systemctl stop 命令です。

有時(shí)候,該命令可能沒(méi)有響應,服務(wù)停不下來(lái)。這時(shí)候就不得不"殺進(jìn)程"了,向正在運行的進(jìn)程發(fā)出 kill 信號?!?信號(しんごう)

それに、サービスの再起動(dòng)は以下のように実行します systemctl restart 命令です。

④ 設定ファイルを読み解く

サービスの起動(dòng)方法は、設定ファイルによって決定されます。以下に、設定ファイルの內容を見(jiàn)てみましょう。

前述のように、設定ファイルは主に /usr/lib/systemd/system 目次、もしくは /etc/systemd/system 目次。設定ファイルを見(jiàn)つけたら、テキストエディタで開(kāi)いてください。 systemctl cat コマンドは設定ファイルを確認するために使われます。以下では、 sshd.service ファイルを例に、SSHサーバーを起動(dòng)し、他のユーザーがSSHでログインできるようにします。

ファイルはいくつかのブロックに分かれており、各ブロックにはいくつかのキーペアがあります。

以下に各ブロックの內容を順に説明します。

五、[ユニット] ブロック:起動(dòng)順と依存関係。

Unit ブロックの Description 現在のサービスの簡(jiǎn)単な説明を提供してください。 Documentation フィールドはドキュメントの位置を示します。次の設定は、起動(dòng)順序と依存関係で、非常に重要です。

After フィールド:表示する場(chǎng)合 network.target 「または」 sshd-keygen.service それを起動(dòng)する必要がありますね。 sshd.service それらの後に始めるべきです。

それに、もう一つあります。 Before フィールド、定義 sshd.service どのサービスの前に起動(dòng)すべきか。注意、 After 「わ」 Before フィールドは起動(dòng)順序のみに関連し、依存関係には関係ありません。

例えば、あるWebアプリケーションはPostgreSQLデータベースでデータを保存する必要があります。設定ファイルでは、PostgreSQLの後に起動(dòng)するように定義されていますが、依存関係として定義されていません。リリース後、何らかの理由でPostgreSQLが再起動(dòng)する必要があり、サービス停止中にWebアプリケーションはデータベース接続を確立できません。依存関係を設定 Wants フィールドと Requires フィールド。

Wants フィールド:表現 sshd.service 「とともに」 sshd-keygen.service 之間存在"弱依賴(lài)"關(guān)系,即如果"sshd-keygen.service"啟動(dòng)失敗或停止運行,不影響 sshd.service 続行します。

Requires 字段則表示"強依賴(lài)"關(guān)系,即如果該服務(wù)啟動(dòng)失敗或異常退出,那么 sshd.service も辭退する必要もあります。

注意してください。 Wants フィールドと Requires フィールドは依存関係のみに関連し、起動(dòng)順序には関係ありません。デフォルトでは同時(shí)に起動(dòng)します。

6. サービスブロック:アクション開(kāi)始

Service ブロック定義で現在のサービスを起動(dòng)する方法を示します。

6.1 啟動(dòng)コマンド

多くのソフトウェアには、環(huán)境パラメータファイルがあり、それを使って EnvironmentFile フィールド読み込み。

EnvironmentFile フィールド:現在のサービスの環(huán)境パラメータファイルを指定します。そのファイル內の key=value キーペア、使える $key の形式、現在の設定ファイルから取得します。

上記の例では、sshdの環(huán)境設定ファイルは /etc/sysconfig/sshd 最も重要なフィールドは、設定ファイル內です。 ExecStart 。

ExecStart フィールド:プロセスを起動(dòng)する際に実行するコマンドの定義。

上の例では、起動(dòng) sshd 実行したコマンドは: /usr/sbin/sshd -D $OPTIONS その中の変數 $OPTIONS 來(lái)自:出身、來(lái)る(から) EnvironmentFile 指定の環(huán)境パラメータファイル。同様の機能を持つ以下のフィールドがあります。

ExecReload フィールド:サービス再起動(dòng)時(shí)の実行コマンド

ExecStop フィールド:サービス停止時(shí)に実行されるコマンド

ExecStartPre サービス開(kāi)始前に実行するコマンド:サービス開(kāi)始前のコマンド

ExecStartPost フィールド:サービス開(kāi)始後の実行コマンド

ExecStopPost フィールド:サービス停止後に実行するコマンド

以下の例をご覧ください。

上記の設定ファイル、2行目 ExecStart 空値に設定すると、第1行の設定がキャンセルされます。実行結果は以下の通りです。

すべての起動(dòng)設定の前に、連続線(xiàn)(-)を加えることができます。 - ),表示"抑制錯誤",即發(fā)生錯誤的時(shí)候,不影響其他命令的執行。比如, EnvironmentFile=-/etc/sysconfig/sshd (注意等號の後の短剛號が)、「~と、即ち、」と表します。 /etc/sysconfig/sshd ファイルは存在せず、エラーも発生しません。

6.2 起動(dòng)種類(lèi)

Type フィールドの定義を起動(dòng)タイプに。設定できる値は以下の通りです。

シンプル(デフォルト値): ExecStart フィールドで起動(dòng)するプロセスはメインプロセスです。

forking: ExecStart フィールドは fork() 方式起動(dòng)時(shí)、親プロセスは終了し、子プロセスがメインプロセスになる。

ワンショット:似ている simple しかし、一度のみ実行され、Systemdはそれが終了するまで他のサービスの起動(dòng)を待ちます。

DBus:似ている simple D-Bus信號を受け取ってから起動(dòng)します。

通知:似たような simple 起動(dòng)が完了すると通知シグナルが送信され、その後Systemdが他のサービスを起動(dòng)します。

遊休の:類(lèi)似する simple しかし、他のタスクが終わるまでそのサービスは開(kāi)始されません。そのサービスの出力が他のサービスの出力と混ざらないようにするための使用例があります。

上の設定ファイル、起動(dòng)種類(lèi)を設定して oneshot このサービスは一度実行すれば十分で、長(cháng)期にわたって実行する必要はありません。もし、將來(lái)的に再び開(kāi)きたい場(chǎng)合は、設定ファイルを以下のように変更してください。

上記の設定ファイル中、 RemainAfterExit フィールドを設定します yes プロセスが終了しても、サービスは継続して実行されます。そのため、一旦使用すると、 systemctl stop サービスを停止させろ。 ExecStop 指定のコマンドを実行し、タッチパッドを再起動(dòng)します。

6.3 リスタート動(dòng)作

Service ブロックには再起動(dòng)行動(dòng)を定義するフィールドがあります。

KillMode フィールド:Systemdでsshdサービスを停止する方法を定義。

上記の例では、 KillMode 設定します。 process 主プロセスのみ停止し、sshdのサブプロセスは停止しない、つまりサブプロセスで開(kāi)かれたSSHセッションは維持される。この設定はあまり一般的ではないが、sshdには重要で、サービスを停止した際に自分が開(kāi)いたSSHセッションも一緒に強制終了されることがない。

KillMode フィールドで設定できる値は以下の通りです。

control-group(デフォルト):現在の制御グループ內のすべてのサブプロセスが終了されます

簡(jiǎn)潔:プロセス:メインプロセスのみ削除

親プロセスはSIGTERMシグナルを受け取り、子プロセスはSIGKILLシグナルを受け取ります。

:プロセスは削除されず、サービスの停止コマンドを実行だけです。

次には Restart フィールド。

Restart フィールド:sshdが終了した後、Systemdの再起動(dòng)方法を定義。

上の例では、 Restart 設定します。 on-failure 予期せぬ失敗が発生した場(chǎng)合、sshdを再起動(dòng)します。sshdが通常で終了した場(chǎng)合(例えば実行 systemctl stop (命令),再起動(dòng)しない。

Restart フィールドで設定できる値は以下の通りです。

no(デフォルト):終了後、再起動(dòng)しない

on-success:正常終了時(shí)(終了コードが0)のみ再起動(dòng)

on-failure:異常終了時(shí)(終了コードが0でない場(chǎng)合)、シグナルによる終了やタイムアウトを含め、再起動(dòng)します。

on-abnormal:シグナルで終了またはタイムアウトしたときのみ再起動(dòng)

on-abort:未捕獲信號で終了した場(chǎng)合のみ再起動(dòng)

on-watchdog:タイムアウトで終了し、再起動(dòng)

どんな理由で辭めたとしても、いつも再開(kāi)です。

ダムプロセスについては、以下のように設定することをお勧めします: on-failure エラーログアウトを許可するサービスには、設定可能です。 on-abnormal 。

最後に RestartSec フィールド。

RestartSec フィールド:Systemdがサービスを再起動(dòng)する前に待つ必要のある秒數を表します。上の例では42秒の待機時(shí)間が設定されています。

7. [インストール] ブロック

Install ブロック、この設定ファイルのインストール方法、つまり起動(dòng)時(shí)の自動(dòng)実行方法の定義です。

WantedBy フィールド:サービスの対象となるターゲットを示します。

Target の意味はサービスグループで、サービスのセットを指します。 WantedBy=multi-user.target これは、sshdが所在するターゲットを指しています。 multi-user.target この設定は非常に重要です、なぜなら実行… systemctl enable sshd.service 命令の際、 sshd.service のシンボリックリンクは、置かれるでしょう。 /etc/systemd/system 目次の下に multi-user.target.wants サブディレクトリ內で、Systemdにはデフォルトの起動(dòng)ターゲットがあります。

上記の結果は、デフォルトの起動(dòng)ターゲットは multi-user.target このグループの全サービスは起動(dòng)時(shí)に開(kāi)始されます。そのためです。 systemctl enable コマンドが起動(dòng)時(shí)の自動(dòng)起動(dòng)を設定できる理由は、ターゲットを使うとき、 systemctl list-dependencies 命令と systemctl isolate コマンドも役立ちます。

一般的には、一般的に使用されるターゲットは二つあります:一つは multi-user.target ,マルチユーザーコマンドラインの狀態(tài)を示す;もう一個(gè)是 graphical.target GUI狀態(tài)を表すもので、依存しています。 multi-user.target 公式文書(shū)には非常に鮮明な畫(huà)像があります。 ターゲット依存関係図 。

第8章:Targetの設定ファイル

ターゲットにも設定ファイルがあります。

注意:Target設定ファイルには起動(dòng)コマンドがありません。上記の結果では、主要なフィールドの意味は以下の通りです。

Requires フィールド:要求 basic.target 一緒に動(dòng)く。

Conflicts フィールド:衝突フィールド。もし rescue.service 「または」 rescue.target 動(dòng)作中 multi-user.target 動(dòng)かない、逆も然り。

After :表記します multi-user.target 在 (さい) basic.target 、 rescue.service 、 rescue.target 後に起動(dòng)します。それがあれば。

AllowIsolate 許可します systemctl isolate コマンド切換え multi-user.target 。

9、設定ファイルを変更後、再起動(dòng)してください。

設定ファイルを修正後、設定ファイルを再読み込みし、関連サービスを再起動(dòng)する必要があります。

(終了)

文書(shū)情報

著(zhù)作権表示:自由転載-非商業(yè)用途-非派生作品-著(zhù)者名保持 クリエイティブ?シェア3.0 ライセンス

発行日:2016年3月8日

最近使用した:

収蔵 メニュー QQ
男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站