apache 和 systemctl 狀態

apache 和 systemctl 狀態

我們公司使用 SUSE Linux Enterprise。
現在我們已經有了第一台 SLES 12 機器(這是 SLES 中使用 systemd 的第一個版本)。

我找到了一個鏈接,其中有人說“啟動”、“停止”和“重新啟動”正在工作,但不再涵蓋“狀態”。

http://comments.gmane.org/gmane.comp.sysutils.systemd.devel/3050

-- 就像 ExecStatus 一樣?
不,沒有。為此,最好的方法就是提供一個獨立的工具,因為幾乎沒有真正需要將其整合到 systemd 本身中。

所以這傢伙似乎說「systemctl status someservice」不再被覆蓋,所以你必須使用另一個工具。

但是,如果我輸入systemctl status apache2,它就會起作用:

systemctl status apache2
apache2.service - The Apache Webserver
   Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled)
   Active: inactive (dead)

他們是如何實現仍然擁有一個可用的「systemclt status apache」的?

答案1

systemd 有許多處理基本內容的監視器類型。常見的一個是「systemd 啟動的進程是否仍在運行」。這與配置資料、日誌行等一起是 systemctl 報告的資訊類型

$ systemctl status httpd
* httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-06-03 09:27:28 EDT; 2 weeks 3 days ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 484 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
 Main PID: 784 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           |- 532 /usr/sbin/httpd -DFOREGROUND
           |- 533 /usr/sbin/httpd -DFOREGROUND
           |- 534 /usr/sbin/httpd -DFOREGROUND
           |- 535 /usr/sbin/httpd -DFOREGROUND
           |- 536 /usr/sbin/httpd -DFOREGROUND
           |- 784 /usr/sbin/httpd -DFOREGROUND
           `-2677 /usr/sbin/httpd -DFOREGROUND

Jun 17 03:49:13 SERVER systemd[1]: Reloaded The Apache HTTP Server.
Jun 19 03:17:03 SERVER systemd[1]: Reloaded The Apache HTTP Server.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Hint: Some lines were ellipsized, use -l to show in full.

systemd 不處理的是複雜的事情(「我的應用程式可以與資料庫對話並提供良好的結果」)。對於傳統的初始化腳本,「狀態」呼叫幾乎可以執行任何操作。對於 systemd,它僅限於內建任務。

相關內容