gpt4 book ai didi

PHP CLI 进程在完成后不会终止

转载 作者:可可西里 更新时间:2023-10-31 23:43:37 24 4
gpt4 key购买 nike

我在一个 PHP 文件中有这个:

echo shell_exec('nohup /usr/bin/php -f '.CRON_DIRECTORY.'testjob.php > /dev/null 2>&1 &');

在 testjob.php 中我有:

file_put_contents('test.txt',time()); exit;

这一切都运行得很好。但是,如果我进入流程,它不会在运行后终止 testjob.php。

最佳答案

(由于 stackoverflow 仍然 不允许我发表评论,所以必须将此作为答案而不是评论发布...)

适合我。我完全按照描述制作了 testjob.php,另一个文件 test.php 只包含给定的行(除了我删除了 CRON_DIRECTORY,因为 testjob.php 在我的同一目录中)。

为了确保我的测量正确,我在 testjob.php 的顶部添加了“sleep(5)”,并且在另一个窗口中我有:

watch 'ps a |grep php'

运行。发生这种情况:

  1. 我运行 test.php
  2. test.php 立即退出但 testjob.php 出现在我的列表中
  3. 5 秒后消失。

我想知道 shell 是否重要,所以我从 bash 切换到 sh。相同的结果。

我也想知道是否可能是因为您的外部脚本长时间运行。所以我把“sleep(10)”放在了test.php 的底部。相同的结果(即 testjob.php 在 5 秒后完成,test.php 在 5 秒后完成)。

因此,毫无帮助的是,您的问题出在您发布的代码之外的其他地方。

关于PHP CLI 进程在完成后不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6809563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com