nvim norm command

Варианты

gnu-parallelи xargsгораздо лучше, но для демонстрации того, как это сделать с помощью цикла while, я вижу два основных варианта:

Делать все одновременно:

while IFS="," read  ip port; do
    ruby test.rb "http://$ip:$port/" <&- &
done <test1.txt

Ограничьтесь двумя за один раз:

while IFS="," read  ip port; do
    ruby test.rb "http://$ip:$port/" <&- &
    IFS=, read ip port || break
    ruby test.rb "http://$ip:$port/" <&- &
    wait
done <test1.txt

Второй вариант далеко не идеален, так как между завершением одного процесса и завершением второго будет мертвое время, и эта проблема усугубляется по мере добавления новых процессов. Вы можете попытаться исправить это в оболочке, но так как xargsи parallelуже существуют, в этом нет особого смысла.

1
25.04.2020, 15:56
0 ответов

Теги

Похожие вопросы