从linux终端中运行的php脚本中停止无限循环


Stopping infinit loop from php script run in linux terminal

我目前正在学习一个教程,该教程教授如何在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