Cron两次开始相同的过程

Ole*_*leg 2 linux cron crontab

我有crontab配置如下:

*/2 * * * * php /home/ec2-user/myapp/myscript.php >> /home/ec2-user/myapp/log/myapp.log 2>&1
Run Code Online (Sandbox Code Playgroud)

当我执行ps aux时,我看到以下输出:

ec2-user  1296  0.0  0.0   2984   992 ?        Ss   15:36   0:00 /bin/sh -c /home/ec2-user/myapp/myscript.php >> /home/ec2-user/myapp/log/myapp.log 2>&1 SHELL=/bin/sh HOME=/home/ec2-user PATH=/usr/bin:/bin LOGNAME=ec2-user USER=ec2-user
ec2-user  1299  0.3  3.7  91528 63612 ?        S    15:36   0:16 /home/ec2-user/myapp/myscript.php SHELL=/bin/sh USER=ec2-user PATH=/usr/bin:/bin PWD=/home/ec2-user SHLVL=1 HOME=/home/ec2-user LOGNAME=ec2-user _=/usr/bin/php
Run Code Online (Sandbox Code Playgroud)

对我来说,看起来同一个过程同时启动两次,使用PID 1296处理一个,使用PID 1299处理两个.

这是正常的吗?为什么两个进程都是ps输出而不是一个?

Jon*_*Lin 7

它看起来像是/bin/sh用于调用你的cron标签,以便它们在自己的环境中运行,这是第一个进程.然后/bin/sh调用php来运行你的实际脚本,php是你的第二个进程.这没什么不对.