我的容器通过CMD dockerfile命令从start_script开始。在start_script中,我必须运行php脚本以初始化一些数据,然后在后台运行它(因为可能要花几分钟),如下所示:
php /home/sand-scripts/bin/console app:blacklist:domain &
php /home/sand-scripts/bin/console app:blacklist:subnet &
如果我进入容器,我可以检查数据初始化是否正确,但是如果我运行ps aux
,我会发现我的php进程变成了僵尸(或类似僵尸):
28 root 0:02 [php]
29 root 0:00 [php]
30 root 0:01 [php]
在工作时,它看起来像这样:
31 root 4:50 php /home/sand-scripts/bin/console app:blacklist:ip
如果我不使用&运行,则没有僵尸php。
这些脚本也由cron每10分钟运行一次,但是不会出现新的僵尸php。
如何在容器启动过程中避免此问题?