質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Q&A

解決済

1回答

2665閲覧

「systemctl start サービス名」を実行し、すでにそのサービスが立ち上がっていた場合の挙動

y_programming

総合スコア48

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

0グッド

1クリップ

投稿2022/09/15 12:49

編集2022/09/18 02:08

実現したいこと

既に起動しているサービスを再び立ち上げようとした場合、どこかのログに記録が行われるのかそれとも行われないかが知りたいのです。

発生している問題・エラーメッセージ

# systemctl start サービス名

のように、なにかしらサービスを立ち上げようとした時に、そのサービスがすでに立ち上がっていた(startしていた)場合、「すでにそのサービスは起動しています」といったようなログがどこかに残るのか知りたくご質問させていただきました。
エラーメッセージが表示されるのかされないのかがわからない状況のため、もし表示されるならどこに表示されるのかが知りたいです。
よろしくお願いいたします。

環境はCentOS7でございます。

【解決、動作確認がとれたため追記】
以下、「journalctl -f」にて初回起動時ともう一度起動しようとしたときのログの比較です。
2つのどちらも「systemctl start httpd」にてApacheを起動しようとしたときに発生したログとなります。

1.Apacheの初回起動のとき

19月 17 18:37:57 localhost.localdomain polkitd[576]: Registered Authentication Agent for unix-process:3406:107318 (system bus name :1.157 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF-8) 2 9月 17 18:37:59 localhost.localdomain polkitd[576]: Operator of unix-process:3406:107318 successfully authenticated as unix-user:hoshino to gain ONE-SHOT authorization for action org.freedesktop.systemd1.manage-units for system-bus-name::1.158 [systemctl start httpd] (owned by unix-user:hoshino) 3 9月 17 18:37:59 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 4 9月 17 18:37:59 localhost.localdomain httpd[3426]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message 5 9月 17 18:37:59 localhost.localdomain systemd[1]: Started The Apache HTTP Server. 6 9月 17 18:37:59 localhost.localdomain polkitd[576]: Unregistered Authentication Agent for unix-process:3406:107318 (system bus name :1.157, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF-8) (disconnected from bus)

2.Apacheをもう一度起動しようとしたとき

19月 17 18:38:41 localhost.localdomain polkitd[576]: Registered Authentication Agent for unix-process:3449:111806 (system bus name :1.161 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF-8) 2 9月 17 18:38:47 localhost.localdomain polkitd[576]: Operator of unix-process:3449:111806 successfully authenticated as unix-user:hoshino to gain ONE-SHOT authorization for action org.freedesktop.systemd1.manage-units for system-bus-name::1.162 [systemctl start httpd] (owned by unix-user:hoshino) 3 9月 17 18:38:47 localhost.localdomain polkitd[576]: Unregistered Authentication Agent for unix-process:3449:111806 (system bus name :1.161, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ja_JP.UTF-8) (disconnected from bus)

上記の2つのログを比較しますと、差分は以下のようになりました。

1と2の差分

19月 17 18:37:59 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 29月 17 18:37:59 localhost.localdomain httpd[3426]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message 39月 17 18:37:59 localhost.localdomain systemd[1]: Started The Apache HTTP Server.

「AH00558」のServerNameを設定してください、といったエラーが出てはおりますが、初回起動時のみ「 Starting The Apache HTTP Server...」と「Started The Apache HTTP Server.」がログに残る様子が確認できました。すでに起動済の場合にもう一度起動しようとした時にはこちらのログが残りませんでしたので、二重起動はしないということが確認できました。
既に起動しているサービスを起動しようとした時にもう一度サービスを起動しようとしても、「そのサービスは既に起動しています」といったエラーが発生することはないようですが、二重起動しようとした場合サービスの開始を示すメッセージが出なくなったとわかっただけで十分です。ありがとうございました!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

やりたい目的(2重起動の検知?)が不明ですが、ググったらさくっと出てきましたが
ご要望に沿っているか、ご確認ください。

ログの確認部分を抽出
systemd によって起動された Unit のログは、/var/log/journal 以下にバイナリ形式で保存されるようになっています。そのため、ログの確認には journalctl コマンドを利用する。
-f で tail -f 的な動きになる。

参照サイト
https://qiita.com/sinsengumi/items/24d726ec6c761fc75cc9

投稿2022/09/15 23:38

okakemetal

総合スコア261

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_programming

2022/09/16 00:03

左様でございます、2重起動の検知が目的です! ためした結果をのちほど追記いたします! たぶんいけます助かりますありがとうございます!
y_programming

2022/09/18 02:12

ご提示いただいた方法で確認いたしました! 起動済みのサービスをstartさせようとしたときに、「もう起動してます」のエラーが出ることはないようですが、初回起動時に「starting」や「started」のメッセージがログに出るのに対し、 もう一度起動しようとした場合、それらのログが出ないということがわかりました。 初回起動時と、もう一度起動を試みた際のログの動作の違いを確認できました、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問