Ну, я надеялся на легкий ответ, но так как его не было, я написал свой собственный сценарий. Надеюсь это кому-нибудь пригодится! Он находится в ruby - при запуске он вызывает vmrun list
для получения списка всех запущенных виртуальных машин, удаляет первую строку («Всего запущенных виртуальных машин: x») и вызывает vmrun suspend
на всех оставшихся строках.
#!/usr/bin/ruby
VMRUN='/usr/bin/vmrun'
vms = []
open("|#{VMRUN} list") do |p| vms = p.readlines.map {|l| l.chomp } end
vms.shift
vms.each do |vmxfile|
print "Suspending #{vmxfile}"
system("#{VMRUN} suspend #{vmxfile}")
end