プログラムをサービスとして実行することと直接実行することの違いは何ですか?

プログラムをサービスとして実行することと直接実行することの違いは何ですか?

ちょっと面倒な質問なのに…

私は最近ドッカーを使い始めて、デフォルトのランプサーバーを設定しようとしました。

httpd、php、およびmysqlを含むcentos dockerイメージがあります。

ただし、dockerコンテナではsystemd / serviceを介して通常どおりサービスを開始できません。

次の方法でhttpdを直接実行できます。/usr/sbin/httpd

それでは、httpd viaとvia/usr/sbin/httpdの違いは何ですかsystemctl start httpd

httpdを停止または再起動する「正しい」方法はありますか? - プロセスを殺すことができると思いましたが、Apacheプロセスが10個ほど始まるようです。

私はこれが特に焦点を当てた質問ではないことを知っていますが、関連資料についてのアドバイスをいただきありがとうございます。

ベストアンサー1

systemctlPID 1がシステム化されていないと機能しません。 1を使用してPIDを見つけることができますps -q 1

一般的な方法でサービスを開始および停止できることは、この記事で述べた利点です。権限のないコンテナでsystemdを実行する。 Andreの答えで述べたように、他の人は子プロセスを記録または追跡しています。

おすすめ記事