使用systemctl管理サービス

システムサービス、パワーがログオンする必要はありません実行することができます(カイからのブートに相当)
は/ usr / libに/にsystemd /システム
利用者サービス、プログラムは、ポストの実行にログインする必要があります
は/ usr / libに/にsystemd /ユーザー・ ディレクトリと2がありますファイルの種類:

     * .serviceの       サービスユニットファイル
     * .TARGET         ブートレベルユニット

詳細なプロフィール

    以下は、nginxの起動スクリプト

 

[単位] 
説明 = nginxの- 高性能Webサーバの
ドキュメント =のhttp:// nginx.org/en/docs/ 
後= network.target remote-fs.target nss- lookup.target 
[サービス] 
タイプ = フォーク
ユーザー = nginxの
グループ = nginxの
ExecStartPre =は/ usr / local / nginxの/ sbinに/ nginxの- T 
ExecStart =は/ usr / local / nginxの/ sbinに/ nginxの
ExecReload =は/ usr / local / nginxの/ sbinに/ nginxの- Sリロード
ExecStop =は/ usr / local / nginxの/ sbinに/ nginxの- sの停止
[インストール] 
WantedBy= multi-user.target

 

[単位]は
ドキュメントドキュメントアドレスの
説明短い説明は
、彼らが実行されていない場合は、現在のユニットの起動に失敗し、他の現在のユニット単位に依存する必要が
、協力する他の現在のユニットユニットたいし、彼らが実行されていない場合は、現在のユニットが故障起動しない
BindsToをし、必要同様に、それはあなたが終了した場合、それが実行されている現在のユニットの停止の原因となります単位を指定する
フィールドは、ユニットが起動する必要があります指定した場合、あなたは現在のユニットの後に開始する必要があります前に、
それが現在のユニットである必要があります前に、指定されたユニットが起動する必要がある場合はフィールドの後スタート
競合がユニット単位は現在のと同時に実行することはできませんここで指定した
条件...ユニット、現在実行中の条件を満たしている必要があり、そうでない場合は実行されないでしょう
条件がアサート...ユニットは現在満たされている必要があります実行し、それ以外の場合は、新聞を起動に失敗します

 

[サービス] 
タイプ = フォークバックグラウンドモードを表します。
ユーザー = ユーザー実行するユーザ設定のサービス
グループは = 実行しているユーザー設定ユーザーグループのサービス
の再起動を = 常に常に再起動
RestartSec = 1            を再起動した秒数
PrivateTmpが = trueに        サービスへの表現は別々の一時的な領域を割り当て
環境では、環境変数指定された
pidファイルは、
サービスを指定しましたPIDファイルの 現在のサービスコマンドのExecStart開始 コマンドは、現在のサービスExecStartPreの開始前に実行される ExecStartPostが実行現在のサービスコマンドで起動した後 、現在のサービスの再起動時にコマンドが実行さExecReload ExecStop停止命令をするとき、現在のサービスに実行されます ExecStopPost stopコマンドそのサービスが実行されたとき KillMode すべてのサブプロセスにおける電流制御グループが殺されます

 

EnvironmentFile =の/ etc /のsysconfig / sshdの
キー=値の形式で保存され、$キーがフォームを読み取るために
、すべての起動設定の前に、あなたが追加することができます組み合わせ記号( - )、エラーが発生している、「抑止エラーに」の意味他のコマンドの実行には影響を与えません。
= EnvironmentFile -の/ etc /のsysconfig / sshdの(ノート等号の後の接続詞番号という)、それがあっても意味  は/ etc /のsysconfig / sshdの ファイルが存在しない、それはエラーをスローしません。
環境:
例えば、異なる複数の変数のシェル続い:
環境DATA_DIR = = /データ/エルク
。環境LOG_DIR = =は/ var / log / elasticsearch
環境= PID_DIR = / VAR / RUN / elasticsearch
EnvironmentFile = -の/ etc /のsysconfig / elasticsearch

=入力メイン処理のプロセスを開始するExecStartフィールド、シンプルなデフォルトを
     起動する方法)(ExecStartフィールドをフォークはフォークます
     Exex意志、前に他のサービスを開始し、単純なに似てワンショットが、それが実行を完了するために一度だけ、にsystemdをお待ちしております*コマンド構文の後ろのBASHサポート。
     シンプルに似DBUSが、Dをお待ちしております - バス信号は後に開始
     通知がスタート信号の後に発行される、シンプルに似て通知し、その後、他のサービスにsystemdを再起動し
     、簡単なようなアイドルを、他のタスクが実行されるまで待つことを、開始しませんサービス。サービス出力を作るための機会を利用して、出力は他のサービスとの混合ではありません

 

再起動は= 終了後にはデフォルト値を再起動しません
        ON - 成功再起動する前に、通常の出口(exitステータス0)、ときにのみ
        ON - 非正規の終了に失敗(ゼロ以外)、終了信号及びタイムアウトを備え、再起動が意志 - 異常終了の信号のみタイムアウトが再起動されます
        ON - ABORTは、信号の受信がキャプチャされていないだけ時に終了し、再起動します
        ON - ウォッチドッグ・タイムアウト出口が再起動されます
        常に何らかの理由で終了し、常に再起動しますではなく、再起動systemctl停止serviceName.serviceコマンドの後にサービスを停止します。

 &その他の特殊文字は、bashの構文の多くがサポートされていません| Execの*は、<>受け入れることができない、「..コマンドパラメータ」形式を受け入れるために、コマンドが続きます。あなたはbashの構文をサポートしたい場合は、設定する必要がありTyep =ワンショットを 

KillMode =制御- グループのデフォルトは、すべてのサブプロセスにおける電流制御グループが殺される
         だけメインプロセス強制終了するプロセスを
         混合主要プロセスをSIGTERMシグナルを受信すると、子はSIGKILL信号受信していない
         だけで実行し、どのプロセスが殺されませんどれもサービス停止コマンド
[インストール]を
通常起動する方法を定義するために使用されるコンフィギュレーション・ファイルの最後のブロックであり、ブートするかどうか。次のようにその主なフィールドです。
WantedBy =マルチuser.target#マルチユーザ
WantedBy:その値が1つまたは複数のターゲットである、現在のユニットは、シンボリックリンクに(有効に)活性化されたターゲット名+ディレクトリには/ etc /にsystemd /システム構成サフィックス.wantsサブディレクトリ
RequiredBy:その値は、1つまたは複数のターゲットである、現在のユニットが作動し、シンボリックリンクに /ターゲット+へなど/にsystemd / systemディレクトリ名サブディレクトリ.required接尾構成さ
別名:現在のユニット別名を開始するために使用することができる
項目:現在のユニット活性化(イネーブル)、同時に他のユニットで活性化されます
WantedByフィールド:
WantedBy =マルチ - user.targe:マルチユーザコマンドラインを示し、設定が重要である
         graphical.targetマルチ依存するグラフィカルユーザ状体を表し、 -user.targetを

 





おすすめ

転載: www.cnblogs.com/outsrkem/p/11766267.html