我有一个脚本,它肯定会花很长时间才能执行。我有一个多台计算机安装。在启动时(最好),我希望让脚本在每台计算机上运行。但是,我想异步执行此操作。
或者,我可以为每台机器执行 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"
sleep 1 是另一篇文章中建议的“黑客攻击”。但它只运行一次,然后就退出了。
脚本内容如下:
while [ true ];
do
rand=`shuf -i 10-200 -n 1`
curl "192.168.56.10/pages/"$rand"K.html"
sleep 5
done
当我从客户端内部执行脚本时,一切都运行正常。