Ubuntu 16.04 LTSをインストールしましたが、実行すると
usr@server:~$ Sudo service <servicename> restart
usr@server:~$
サービスは再起動されます(service <servicename> status
でステータスを確認できます)が、シェルは予期せずにコマンドラインに直接戻ります。
* Stopping <servicename> [ OK ]
* Starting <servicename> [ OK ]
まず、Ubuntuは以前のバージョンではこのように動作しませんでした。 Ubuntuは10年弱の間、新興システムでした。Ubuntuのservice
コマンドの動作は、これらすべての年の間、期待したものとは似ていませんでした。 15.10で出力を印刷するためのサービスコマンドを取得するにはどうすればよいですか? で、イメージのservice
コマンドのupstart動作を確認できます。
答えは、昨年のUbuntuバージョン15.10を使用しているユーザーとほぼ同じです。
SystemdオペレーティングシステムであるUbuntuバージョン16.10を使用しています。システムサービス管理は、upstart(または以前に使用していたUbuntu以外のオペレーティングシステムで実行したユーティリティ)によって実行されなくなりました。 systemdによって実行されます。
service
コマンドは同じかもしれませんが、Debian/Ubuntu service
コマンドは、upstartまたはsystemdが実行中のシステムサービスマネージャーであるかどうかを自動検出し、実際のネイティブサービスを実行しようとするシェルスクリプトです。 upstartおよびsystemdの管理コマンド。 upstartとsystemdの2つのまったく異なるコードパスを実行します。
upstartのネイティブサービス管理コマンドは、initctl start
、initctl stop
、initctl status
などです。それらはメッセージを印刷します。
systemdのネイティブサービス管理コマンドは、systemctl start
、systemctl stop
、systemctl status
などです。これらは、動作時に出力を印刷しません。
実際には、OK出力は必要ありません。出力なしはOKを意味します。サービスが適切に開始されない場合、Ubuntuは次のように表示します。
制御プロセスがエラーコードで終了したため、php5.6-fpm.serviceのジョブが失敗しました。詳細については、「systemctl status php5.6-fpm.service」および「journalctl -xe」を参照してください。
私の場合、この例はphp-fpm.confの設定ミスであり、サービスを開始できませんでした。指示に従って、エラーの原因を分類しました。