服务 cron 状态中的多个 cgroup:这是什么意思?

服务 cron 状态中的多个 cgroup:这是什么意思?

我正在尝试在我们的一台 Ubuntu 16.04 LTS 服务器上使用 cron 诊断一些异常行为。

当我执行服务 cron status 时,我得到了这个:

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。

答案1

您正在查看与该服务关联的控制组的成员:有两个cron进程(我不知道为什么其中一个是大写的),一个/bin/sh由 cron 生成,一个/usr/bin/php由该 shell 生成,另一个php进程大概是由第一个进程生成的。

如果某个服务经常生成其他进程,或者有多个辅助进程一直与主进程一起运行,那么在 cgroup 中看到多个条目是正常的。例如,在我的服务器上,apache2postfix@-都有多个进程。您还可以使用或dovecot查看控制组和进程的完整树。systemctl statussystemd-cgls

相关内容