VMware 5.5 以降では vmrun というコマンドが使えるようになっています。これを使うと、コンソールや ssh セッションから仮想マシンの起動/停止などを操作することができます。
コンソールや ssh セッションのように DISPLAY 環境変数が設定されていない場合には予め設定しておく必要があります。
| export DISPLAY=:0.0 |
仮想マシンを起動するには以下のように実行します。
| vmrun start /path/to/vmx_file |
仮想マシンをサスペンドするには以下のように実行します。
| vmrun suspend /path/to/vmx_file |
http://kumaneko-sakura.sblo.jp/article/3659845.html では GRUB のデフォルトエントリを power off に設定することでシャットダウンする方法を紹介しましたが、上記のように vmrun で操作する場合にはデフォルトエントリを power off に設定してはいけません。
http://kumaneko-sakura.sblo.jp/article/3392253.html ではバッチ処理のために複数のゲストを順番に実行する方法について紹介しましたが、 power off できなくても vmrun コマンドを用いてサスペンドできるので問題ないことが判りました。
あとは、ゲストでのバッチ処理が終わってサスペンドしてよい状態になったことをどうやってホストに通知するかですね。ホスト側で top を実行して低負荷状態が数分継続したらゲストをサスペンドさせるという方法でも十分なのかもしれません。