繁体   English   中英

从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 ,我知道它将php queuefile.php运行(已经使用有限的for循环而不是无限的while循环测试了代码)。

问题:一旦开始,我如何退出无限循环? 我已经在线阅读了创建代码的选项,该代码“检查”它是否应该继续循环,例如以下代码:

$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 ps aux | grep my-php-script.php并查看它是否是您的程序,则可以使用pkill -f my-php-script.php该过程。

我了解您是想在服务器中创建cron。 因此,您应该通过腻子登录服务器并创建cron作业。 例如:登录后...

crontab -e

然后加

1 2 3 4 5 /path/to/command arg1 arg2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM