You do not have to reboot the server for that, below is a process to kill a stuck VM.
How can I kill a stuck virtual machine?
ESX 3.0 method
o Login to the service console
o You can check the VM state by typing vmware-cmd /<path to VM directory>/server.vmx getstate
o Type ps -ef | grep <virtualmachinename>
o The second column is your pid of the vmkload_app of the Virtual Machine, you can also type ps eaf to see all running processes
o Type kill -9 <pid>
o Check VM state again, it should now be off
o Type vmware-cmd /<path to VM directory>/server.vmx start to power on VM
ESX 3.0 Alternate method
o Login to the service console
o Get the vmid of the VM you want to kill by typing vm-support x
o Kill the VM and generate core dumps and logs by typing vm-support X <vmid>
o You will be prompted if you want to include a screenshot of the VM, send an NMI to the VM and send a ABORT to the VM, you must answer Yes to the ABORT question to kill the VM. The entire process will take about 5-10 minutes to run. It will create a tar archive in the directory you run it in.
fyi...if you find this post helpful, please award points using the Helpful/Correct buttons...thanks