У меня есть сценарий, который, безусловно, займет много времени для выполнения. У меня есть установка с несколькими машинами. При загрузке (желательно) я бы хотел, чтобы скрипт работал на каждой машине. Тем не менее, я хотел бы сделать это асинхронно.

В качестве альтернативы я мог бы выполнить vagrant ssh для каждой машины.

В первом случае я добавляю в файл Vagrant:

Vagrant.configure("2") do |config|
config.vm.provision "shell", run: "always", inline: 'bash /home/vagrant/shared_folder/script.sh  &'
...

Тем не менее, хотя я вижу процесс, запущенный на каждом госте, он не выполняется.

Для второго случая:

vagrant ssh client5 -c "/home/vagrant/shared_folder/script.sh  & sleep 1"

Сон 1 - это "взлом", предложенный в другом посте. Тем не менее, он запускается только один раз, а затем выходит.

Содержание скрипта:

while [ true ];
do
        rand=`shuf -i 10-200 -n 1`
        curl "192.168.56.10/pages/"$rand"K.html"
        sleep 5
done

Когда я выполняю скрипт изнутри гостя, все работает отлично.

0