【发布时间】: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