Linux

服務 cron 狀態中的多個 cgroup:這是什麼意思?

  • June 23, 2018

我正在嘗試在我們的一台 Ubuntu 16.04 LTS 伺服器上使用 cron 診斷一些時髦的行為。

當我執行服務 cron 狀態時,我得到以下資訊:

root@baobaospa:/etc/cron.d# service cron status
● cron.service - Regular background program processing daemon
  Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
  Active: active (running) since mar 2018-06-12 21:54:33 CEST; 12min ago
    Docs: man:cron(8)
Main PID: 11789 (cron)
   Tasks: 6
  Memory: 4.2G
     CPU: 13min 59.438s
  CGroup: /system.slice/cron.service
          ├─ 8297 /usr/sbin/CRON -f
          ├─ 8302 /bin/sh -c php /var/www/web1/baobao/shop/cron.php
          ├─ 8304 php /var/www/web1/baobao/shop/cron.php
          ├─ 8348 /usr/bin/php /var/www/web1/baobao/shop/cron.php -mdefault
          └─11789 /usr/sbin/cron -f

這是我第一次看到 CGroup 下的多個條目:這些是什麼意思?我很擔心,因為我看到多個條目通過 php-cli 執行該 cron.php:這是否意味著該文件被多次呼叫?

我已經嘗試在 /etc/cron.d* 下進行檢查,但我只使用 cron.php 獲得了一次成功,而且我沒有為任何使用者設置 crontab -l。

您會看到與服務關聯的控制組的成員:有兩個cron程序(我不知道為什麼其中一個是大寫的),一個/bin/sh由 cron 生成,一個/usr/bin/php由該 shell 生成,另一個php程序是估計是第一個產生的。

如果一個服務經常產生其他程序,或者有幾個輔助程序一直在主程序旁邊執行,那麼在 cgroup 中看到多個條目是正常的。例如,在我的伺服器上apache2postfix@-dovecot都有多個程序。您還可以使用systemctl status或查看完整的控制組和程序樹systemd-cgls

引用自:https://serverfault.com/questions/916333