我正在尝试编写一个 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/