我基本上每分钟都有一个cron作业调用一个脚本。如果前一个脚本仍在运行(检查上一个脚本的活动时间),脚本会立即停止。
所以我制作了一个bug,然后脚本进入了一个无限循环(我知道它至少被cron从一次调用)。我创建了一个修复程序并将其上传到服务器,但我仍然想知道:
脚本只是echo
一遍又一遍地发出相同的文字。
P.S。 PHP在脚本中的最大执行时间设置为0(无限),我没有直接访问服务器,只有FTP。
答案 0 :(得分:0)
我怎么知道它是否仍在运行?
只需设置一个新的cron作业,但让cron命令可以帮助你调试: 一个有用的将是
ps -af | grep php > /some/path/to/mylogfile.txt
ps
命令列出有关正在运行的进程的信息。使用这些标志,输出的一部分将是启动该过程的原始linux命令,因此我们可以grep该行并查找php
,因为原始命令可能类似于:
php myscript.php
将输出重定向到mylogfile.txt
,以便在cron作业运行后手动读取。
进程ID应该是输出的一部分。然后,您可以在该进程ID上使用kill
命令,再次输入命令作为伪造的cron作业。
答案 1 :(得分:-2)
max_execution_time
)PS:你必须使用php.ini文件 - 一个用于命令行,一个用于Apache - 确保在命令行ini文件中更改max_execution_time