我目前正在学习一个教程,该教程教授如何在php中创建队列。在php脚本中创建了一个无限循环。我简化了代码,以便专注于手头的问题:
while(1) {
echo 'no jobs to do - waiting...', PHP_EOL;
sleep(10);
}
我使用PuTTy(带有SSH连接)连接到我的共享托管帐户(godaddy)中的linux终端。如果我运行php queuefile.php
,我知道它将毫无问题地运行(已经用循环的有限而不是循环时的无限测试了代码)。
问题:一旦无限循环开始,我如何退出它?我已经在线阅读了创建代码的选项,"检查"是否应该继续使用以下代码进行循环:
$bool = TRUE;
while ($bool)
{
if(!file_exists(allow.txt)){$bool = FALSE}
//... the rest of the code
尽管我很好奇是否有一个命令我可以在终端中键入,或者我可以按下一组键来终止脚本。如果有任何终止脚本的方法,或者有更好的方法来进行前一次"检查",我很乐意您的反馈!
按下Ctrl+C应停止在前台运行的程序。
你也可以在登录另一个会话时杀死它,做一些ps aux | grep my-php-script.php
,看看它是否是你的程序,然后你可以使用pkill -f my-php-script.php
来杀死这个进程。
我理解您希望在服务器中制作cron。因此,您应该通过putty登录服务器并创建cron作业。例如:登录后。。。
crontab -e
然后添加
1 2 3 4 5 /path/to/command arg1 arg2