【问题标题】:Does CTRL + C cancels PHP script execution on Windows(WAMP)?CTRL + C 是否取消在 Windows(WAMP) 上执行 PHP 脚本?
【发布时间】:2018-09-04 16:25:13
【问题描述】:

我创建了一个脚本,它每 10 秒检查一次我们的站点是否可以再次访问。如果我现在在 Powershell 或 Windows 命令行中使用

php test.php

然后以 CTRL + C 结束,PHP 执行会在后台终止,还是脚本会继续运行,直到 while 条件不再适用并且脚本结束?控制台中看不到更多输出的事实并不一定意味着脚本执行被中断。

非常感谢!

【问题讨论】:

  • ctrl+c 将取消/杀死它.. 但继续打开监视器并检查。
  • 什么是STRG
  • 除非脚本产生后台进程,否则 Ctl-c 应该将其全部杀死,就像任何其他命令一样。
  • Sry STRG German for CTRL :)
  • php.exe 是一个控制台可执行文件。 (php-win.exe 是 GUI 可执行文件。)默认情况下,它不安装 C SIGINT 处理程序,因此 Ctrl+C 使用调用 ExitProcess 的默认控制处理程序。 Ctrl+C 可以通过SetConsoleCtrlHandler 禁用——然而这在 PHP 中被调用——或者通过使用CREATE_NEW_PROCESS_GROUP 创建标志创建一个新的进程组。 CMD 为其start 命令的/b 选项执行后者,例如start /b /w php test.php。无论哪种方式,您仍然可以使用 Ctrl+Break 退出应用程序。

标签: php windows console console-application windows-console


【解决方案1】:

我刚刚使用日志脚本对其进行了测试,在按下 CTRL + C 后不再出现日志条目。 Linux 的这种行为是否相同?

【讨论】:

  • 这是您可以轻松测试的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 2014-02-05
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多