Этот вопрос предназначен для запуска perl на сервере Windows 2012.
Итак, у меня есть папка Commands_To_Run, и под ней есть 100 командных файлов, например,
Commands_To_Run
- run_1.bat
- run_2.bat
- run_3.bat
...
- run_100.bat
Каждый из них запускается *.Файлы летучих мышей занимают около 30 минут.Если я запускаю эти командные файлы последовательно, используя цикл FOR, тогда мне потребуется 100 * 30 минут для запуска.(Слишком долго!)
Я хочу написать Perl-скрипт, который будет выполнять 10 пакетных файлов одновременно.Как только любой из пакетных файлов завершится, будет запущен следующий пакетный файл.
Например, я хотел бы выполнить run1.bat через run10.bat.Допустим, что run7.bat заканчивается, я хочу запустить следующий run11.bat и так далее.Таким образом, в любой момент времени выполняется 10 файлов.
Я думал об использовании этого сценария Perl для запуска пакетного файла, но он будет запускать все 100 одновременно, и это убьет мой процессор и обработку Windows.
for ($x=0; $x < scalar(@files); $x++ ) {
$file=@files[$x];
chomp $file;
$cmd="start $file ";
print "Runnung Command is: $cmd\n";
system($cmd);
}
Я посмотрел напредложение дано, но нет рабочего примера использования Forks :: Super