systemctl statusはどのように無効なActive値を表示しますか?

systemctl statusはどのように無効なActive値を表示しますか?

Centos 8オペレーティングシステムを使用しています。起動時にTomcatを起動するサービスがあります。そしてアップデート後にバグが報告されたが、Tomcatはまだ起動していない(システムが再起動されている)。結果

systemctl status {service.name}

以前は

Loaded: loaded (/etc/systemd/system/{service.name}; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-10-02 18:42:21 EEST; 2 weeks 3 days ago

ここでの問題は、2週3日前、再起動した直後に「アクティブ」と表示されることです。この問題は、サービスを再起動すると簡単に解決できます。

しかし、私はまだそれを再現することができず、それがどのように可能であるか理解できません。

/var/log/journal手動でフォルダを作成し、前後のログを表示してjournalctl -u {service.name} システムログの永続保存を有効にしようとしましたが、-- Reboot -- 結果は次のとおりです。

systemctl status {service.name}

サービスが最後に開始されてからの時間を計算し続けます。

Active: active (running)それでは、何が古くて間違った状態を表示できるのかを知っている人はいますか? (サービスが間違った時間と活動状態を表示してはいけないからです。)ありがとう

さらに、最後のサービス開始時間がsystemctl status {service.name}2週間前で、ログ全体が古いようです。

アップデートサービス

[Unit]
Description=Start tomcat service
After=network-online.target snmpd.service
Wants=network-online.target
Conflicts=tomcat-debug.service

[Service]
ExecStart=/opt/infrascale/stark-scripts/tomcat-start.sh
ExecStop=/opt/infrascale/stark-scripts/tomcat-stop.sh
StandardOutput=journal
StandardError=journal
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

現在再起動する前に、誤ってサービス状態を取得しているか、カーネルを4.18から5.14に更新した後、systemdにいくつかの問題がある可能性があります。

ベストアンサー1

おすすめ記事