Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know I can suspend a given VMware virtual machine on the command line with:

vmrun suspend /path/to/virtual_machine_file.vmx

Is there any way to suspend all virtual machines at once using vmrun? Something like vmrun suspend all?

share|improve this question

Windows batch file version of the answer here (3rd post):

I didn't reproduce the solution directly due to the fact it borrows code from original authors in the above link and they deserve their credit. I just took what they did and adapted it to just suspend all running VMs (the original script suspends, backs up and resumes).

share|improve this answer
up vote 1 down vote accepted

Well I was hoping for an easy answer but since there wasn't one, I wrote my own script. I hope this is helpful to someone! It's in ruby -- when run, it will call vmrun list to obtain a list of all running VMs, strip off the first line ("Total running VMs: x"), and call vmrun suspend on all remaining lines.



vms = []
open("|#{VMRUN} list") do |p| vms = {|l| l.chomp } end
vms.each do |vmxfile|
  print "Suspending #{vmxfile}"
  system("#{VMRUN} suspend #{vmxfile}")
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.