有没有什么办法,比如 Perl 或 PHP,我可以从另一个输出到 Windows cmd shell 的进程中获取输出?我有一个输出某些信息的游戏服务器,例如说“玩家在 43 秒内完成轨道”,我想捕获该行并使用 Perl 或 PHP 向网络服务器发送请求以更新网页上的排名。有没有办法在 Perl 或 PHP 中获取输出管道?或者我可以使用 C++ Windows API 来实现吗?
让我在这里澄清一下:我想执行一个单独的 Perl 或 PHP 脚本来获取 Windows cmd shell 的输出,而显示给 Windows cmd shell 的输出来自不同的进程。
最佳答案
你可以使用 IPC::Open3从其他进程的标准输出中读取。请注意,进程间通信假定进程之间存在父/子关系。如果不是这种情况......我不知道附加到预先存在的过程的输出的机制。在这种情况下,您可能需要更改生产者以将数据写入您的应用程序可以读取的日志文件(或数据库)。
关于php - 如何捕获 Windows cmd shell 的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1002543/