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