gpt4 book ai didi

perl - 异步运行 perl 的反引号

转载 作者:行者123 更新时间:2023-12-02 11:26:00 25 4
gpt4 key购买 nike

现在我有一个 perl 脚本,它在某个时候收集并处理几个 bash 命令的输出,现在我是这样做的:

if ($condition) {
@output = `$bashcommand`;
@output1 = `$bashcommand1`;
@output2 = `$bashcommand2`;
@output3 = `$bashcommand3`;
}

问题是,这些命令中的每一个都需要相当长的时间,因此,我想知道是否可以同时运行它们。

最佳答案

在 Unix 系统上,你应该能够打开多个命令管道,然后运行一个循环调用 IO::Select等待其中任何一个准备好阅读;继续阅读并吞咽它们的输出(使用 sysread ),直到它们都到达文件末尾。

不幸的是,显然是 Unix 的 Win32 仿真 select无法处理文件 I/O,因此要在 Windows 上实现它,您还必须添加一层套接字 I/O,为此 select作品,见 perlmonks .

关于perl - 异步运行 perl 的反引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166035/

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