windows - 视频卡在 Perl 脚本中的 system(1, @commands) 上

标签 windows perl system media windows-media-player

我正在尝试编写一个 Perl 脚本,在 Windows Media Player 上一个接一个地运行目录中的视频 n 次。

由于某种原因,在第 64 个视频播放时,它卡在 system(1, @commands) 上。

现在,命令是 system(1, "C:\\Program Files (x86)\\Windows Media Player\\wmplayer", $path); 在下面的 for 循环中.

for (my $i = 0; $i < $n; $i++)
{
    # do stuff

    # Play video
    system(1, "C:\\Program Files (x86)\\Windows Media Player\\wmplayer", $path);

    sleep $duration + 1;

    # do stuff
} 

我想知道为什么它一直停在第 64 个视频(我已经运行了多次,它总是第 64 个。)也许有人可以更好地解释 system(1, @commands)我?我所知道的是,它只是不等待 @commands 在继续程序之前完成...

非常感谢!

最佳答案

您已达到可以同时运行的最大子进程数。收获那些已经使用waitpid完成的人.


或者,如果您不关心进程的退出代码,您可能会更幸运

system(qq{start /b "" "c:\...\wmplayer" "$path"});

关于windows - 视频卡在 Perl 脚本中的 system(1, @commands) 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532500/

相关文章:

perl - 这是在 Perl 中提取 AoH 子集的最干净的方法吗?

perl - Dreamhost 上的 Gitolite

c# - 有谁知道 System 或 System.Core 中比较运算符的 .NET 枚举?

linux - 安装 glibc 2.7 后出现段错误

windows - 我们如何在同一台 Windows 7 机器上运行 Apache Http Server 的两个实例

linux - Linux 与 Windows 中的 WMIC 差异

windows - 如何从不同的文件夹运行 terraform init?

c++ - 如何在 MSVC 中的原始字符串文字中使用 Unicode 符号/表情符号

perl - Oozie 日志上的模式匹配

c - 手动获取系统函数的地址?