我使用的是centos 8作業系統。我有一個在啟動時啟動 tomcat 的服務。並且報告了一個bug,更新後觸發重啟,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}
顯示前後日誌來啟用 systemd 日誌日誌的持久性存儲-- Reboot --
,但結果是
systemctl status {service.name}
仍計算自上次服務啟動以來的時間。
那麼有人知道什麼可能導致Active: active (running)
過時並顯示錯誤的狀態嗎? (因為服務不應顯示錯誤的時間和活動狀態)。謝謝
另外最後的服務啟動時間systemctl status {service.name}
是兩週前的,所以整個日誌看起來已經過時了
更新服務
[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 出現了一些問題