I wrote about this in another thread, here's a quote:
-----
One command to get the guest state (and more) is "vmsvc/get.guest",
perhaps that could be used, i.e:
vmware-vim-cmd -U user -P passwd vmsvc/get.guest $VMID | grep
guestState | awk '{print $3}' | sed s/[\",]//g
As long as the suspend command is working, the above command will
return "running". When the suspend is complete, it will return
"notRunning".
-----
I'll create a request in the issue tracker.
/ Pär