使用 shell_exec 异步执行 Shell 命令
在后台执行耗时的任务在 Web 应用程序中至关重要。例如,用户的请求可能会触发计算密集型过程,该过程不应阻止用户的交互。虽然 PHP 函数 shell_exec 是运行 shell 命令的便捷方法,但它需要脚本等待命令完成,这可能会影响用户体验。
要解决此问题,可以对 shell_exec 调用进行修改。通过将“> /dev/null 2>/dev/null &”附加到命令中,可以执行命令而无需等待其完成。
以下示例演示了此技术:
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
请注意,此修改还会丢弃命令的标准输出和标准错误流。如果需要捕获输出,可以考虑替代技术,例如使用进程控制块 (PCB) 或实现守护进程。
以上是如何在 PHP 中异步执行 Shell 命令而不阻塞用户?的详细内容。更多信息请关注PHP中文网其他相关文章!