openSUSE 10.3をホストにVMwareマシンを構築していて、ホストをシャットダウンするとVMwareマシンもシャットダウンするように設定してるけどホストの電源OFFが早すぎてVMwareマシンが中途半端に切れてしまうという問題があって、どうしたものかなぁといろいろ調べていました。
その結果/etc/init.dのhaltというスクリプトがshutdownやreboot時に実行されていることがわかりました。で、このhaltから/etc/init.d/halt.localを呼び出しており、ここにスクリプトを記入することで、シャットダウン前にやりたいことを実行できることが判明。そこで、以下のようなスクリプトをはめ込んでみたところ、ばっちりマシンのシャットダウン前にVMwareマシンの電源を切ることができました。
#!/bin/sh IFS=' ' VMLIST=`/usr/bin/vmware-cmd -l` for i in ${VMLIST} do /usr/bin/vmware-cmd ${i} stop & done wait
これで安心してホストマシンの再起動や電源OFFが実行できます。