Linux(Ubuntu)システムで実行されているサービスの状態を確認すると、次の出力に慣れています。
service status nginx
* nginx is running
最近のnginxアップグレード後、同じコマンドの出力が次のように変更されました。
nginx start/running, process XXXX
XXXX
プロセス番号はどこにありますか?
service status
こんな返信形式を見たことがないのにこれが正常なのか気になります。これは別の基準ですか、それともサービスが正しくインストールされていないことを意味できますか?
答え1
標準はありません。
service
何が起こるかは、コマンドの特定の実装によって異なります。そしてどのサービスマネージャを使用していますか?そしてさらに関連サービスにはどのようなサービス定義がありますか?
システム
systemdをService Managerとして実行すると、出力はsystemdの出力になります。systemctl status
これはコマンド(新しいDebian / Ubuntuによって提供されます)がservice
後ろから呼び出すことです。
%systemctl 状態 nginx.service ●nginx.service – 高性能Webサーバーとリバースプロキシサーバー ロード済み:ロード済み(/lib/systemd/system/nginx.service;有効、ベンダーデフォルト:有効) アクティビティ:2015年8月12日水曜日20:16:25 CEST 23秒以降に失敗しました(結果:終了コード)。 プロセス: 24221 ExecStartPre=/usr/sbin/nginx -t -q -g デーモンが開始されました。 (コード=終了、状態=1/失敗) マスターPID:17425(コード=終了、ステータス=0/成功) %
これは、Ubuntu 15以降やDebian 8以降などのシステムオペレーティングシステム(他のオペレーティングシステムに切り替えられていない)の場合です。
小さなバリエーションは、時には実際のシステムサービスユニットファイルがないことです。この場合、systemdは1つを発明し(van Smoorenburgファイルをラップしますrc
)Loaded:
、行は少し異なるように見えます(systemdがそのようなユニットを作成するので、パッケージプログラムは次の名前を隠します)。パッケージ化されたvan Smoorenburgファイル名を好むパッケージ単位ファイルの単位)rc
。
明らかに、systemd OSを使用せずに新しいDebian / Ubuntuservice
コマンドを使用しているようです。
追加読書
- レナート・ペトリング(2013-10-07)。
systemctl
。システムのマニュアルページ。 freedesktop.org. - https://unix.stackexchange.com/a/233581/5132
おやつ
system-control status
noshツールセットを使用している場合、出力はnoshツールセットのコマンドが後ろservice
から呼び出す出力になります。
% サービス appcafe-nginx ステータス /var/sv/appcafe-nginx: ステータス: 2019-01-12 17:58:09 +0000 16時間 33分 42秒前から実行中です。 マスターPID:980 開始:2019-01-12 17:58:06 +0000 0番出口16時間33分45秒前 実行:2019-01-12 17:58:09 +0000 0番出口16時間33分42秒前 設定:有効 %
追加読書
- ジョナサンデボインポラード(2019)。
service
。 スナックガイド。ソフトウェア。 - ジョナサンデボインポラード(2019)。
system-control
。 スナックガイド。ソフトウェア。
突然現れる
initctl status
UpstartをService Managerとして実行すると、出力はDebian / Ubuntuが提供するUpstartコマンドの出力になります。古い)service
コマンドは、次のようにバックグラウンドで呼び出されます。
%initctl 状態 nginx nginxの起動/実行、プロセス2543 %
これは、Ubuntu 6〜Ubuntu 14やFedora 9〜Fedora 14などのUpstartオペレーティングシステムの場合です。
1つの問題は、UbuntuでサービスにUpstart操作が定義されていない限り、service
コマンド(以前のDebian / Ubuntuで提供されていた)がinitctl status
van Smoorenburgツールセットの動作を呼び出さないことです。
これは、nginxパッケージをnginxのUpstartジョブ定義を含む最新のパッケージにアップグレードするまでシステムで発生します。以前はfallbackが呼び出されましたが、今はそうではありません。 スタートアップ書類nginx 1.9バージョンに追加されました。
追加読書
- スコット・ジェームズ・レナント(2009)。
status
。アップスタートユーザーマニュアル。 Ubuntu。 - 」
initctl status
」。ヌボリッチレシピ。 Ubuntu。 - キャメロンノーマン(2014-04-22)。nginx起動操作。 Debian のバグ #745483.
オープンRC
OpenRCを使用する場合、出力は次のエイリアスであるrc-service status
OpenRCの出力になります。service
%rc-service nginx ステータス *ステータス:開始 %
追加読書
- ロイメープルズ(2009-05-01)。
rc-service
。 RCを開きます。
ヴァン・スミュンバーグrc
rc
van Smoorenburgツールセットを使用している場合は、サブコマンドに従ってスクリプト自体が印刷する内容が出力されますstatus
。ほとんどの場合、特にDebian 9以降、これはほとんどのスクリプトのステータス印刷を処理する一般的なヘルパーコマンドの出力になりますrc
。しかし、それは何でもすることができ、サブコマンドの処理方法を決定することは完全にスクリプトに依存します。
rc
Debian nginxパッケージに含まれるvan Smoorenburgスクリプトは、status_of_proc
Debianシェルスクリプトライブラリのヘルパーを使用します。/lib/lsb/init-functions
%status_of_proc -p /var/run/nginx.pid /usr/sbin/nginx nginx *nginx が実行中です。 %
Ubuntuは2006年以降van Smoorenburg +を使用していないinit
ため、Debian / Ubuntu提供のコマンドを使用したvan Smoorenburgの動作は、上記のrc
Upstartの問題によって発生します。 (以前)コマンドはUpstart操作を検出せず、状況をvan Smoorenburgとして処理します。 (systemdやnoshの代替方法はないことに注意してください。rc
service
service
rc
いいえUbuntuのvan Smoorenburgのrc
行動をご覧ください。これらの1つは常に基本サービスとして実行され、すべてが基本サービスとして実行されます。 )
追加読書
- LSBInitScripts/ステータスサポート。 Debian Wiki。