gpt4 book ai didi

php - 如何在 Linux 系统上用 PHP 启动后台进程并将用户 ajax 输入重复写入其标准输入

转载 作者:搜寻专家 更新时间:2023-10-31 21:38:32 24 4
gpt4 key购买 nike

在 Linux Web 服务器上的新 PHP session 中,我想启动一个进程(特别是 ghostscript)以控制台输入模式在后台运行,然后重复将新数据写入其输入。每次新用户数据通过 ajax 到达时都需要进行此数据写入。用户数据被PHP脚本解释成ghostscript的postscript命令,然后需要发送给gs。 gs 输出将是一个命名文件。这样做的原因是我需要速度并且希望避免在用户的每个新输入上启动 gs 的开销。 (一旦 gs 运行并等待输入,处理我的数据大约需要 40 毫秒,但重新启动 gs 并处理数据大约需要 250 毫秒。)虽然我可以让 gs 在后台运行并接受来自 shell 的输入,但我很难让它从 PHP 脚本执行此操作。我已经经历了我能想到的 exec、shell_exec、popen、system、coproc 等的所有变体,但我似乎遗漏了一些基本的东西。感谢您提供任何见解。

最佳答案

如果您对服务器有适当的访问权限,可以启动一个套接字并使 ghostscript 接受来自该套接字的输入。

例如

在 tty 上:
$套接字-sl 11555

在另一个终端上:
$ NC 0 11555 |幽灵脚本

现在无论您向套接字写入什么,gs 都会将其作为输入接收。当您的 AJAX 请求到达服务器时,您可以进行任何需要的处理,然后将生成的 postscript 命令从 PHP 写入套接字。

关于php - 如何在 Linux 系统上用 PHP 启动后台进程并将用户 ajax 输入重复写入其标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com