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

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

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

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 脚本中的系统(1,@commands)上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11532500/

10-15 00:52