我正在尝试在我们的一台 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 中看到多个条目是正常的。例如,在我的服务器上,apache2
和postfix@-
都有多个进程。您还可以使用或dovecot
查看控制组和进程的完整树。systemctl status
systemd-cgls