在 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
,我知道它将 运行 没有问题(已经用有限 for 循环 而不是无限 while 循环).
问题: 无限循环开始后如何退出?我已经在网上阅读了创建代码的选项 "checks" 如果它应该继续使用类似以下代码的循环:
$bool = TRUE;
while ($bool)
{
if(!file_exists(allow.txt)){$bool = FALSE}
//... the rest of the code
虽然我很好奇是否有我可以在终端中键入的命令,或者我可以按下的一组键会导致脚本终止。如果有任何终止脚本的方法,或者如果有更好的方法来制作以前的 "check",我希望您能提供反馈!
按下 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
我目前正在学习教如何在 php 中创建队列的教程。在 php 脚本中创建了无限循环。我简化了代码以专注于手头的问题:
while(1) {
echo 'no jobs to do - waiting...', PHP_EOL;
sleep(10);
}
我使用 PuTTy(通过 SSH 连接)连接到共享主机帐户 (godaddy) 中的 linux 终端。如果我 运行 php queuefile.php
,我知道它将 运行 没有问题(已经用有限 for 循环 而不是无限 while 循环).
问题: 无限循环开始后如何退出?我已经在网上阅读了创建代码的选项 "checks" 如果它应该继续使用类似以下代码的循环:
$bool = TRUE;
while ($bool)
{
if(!file_exists(allow.txt)){$bool = FALSE}
//... the rest of the code
虽然我很好奇是否有我可以在终端中键入的命令,或者我可以按下的一组键会导致脚本终止。如果有任何终止脚本的方法,或者如果有更好的方法来制作以前的 "check",我希望您能提供反馈!
按下 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