Sometimes your VM gets stuck and you have no possibility to do graceful shutdown or power off through the vSphere client. Saying it differently, the VM is stuck and the only way is to reboot the whole ESXi host, which you certainly don't want to do.
But the unresponsive VM running there can be “killed” through the CLI, yes. This can be done several ways, but I'll show you a way of doing it through putty SSH session.
First thing to do is to enable SSH on your ESXi Box (select host > configuration > Security profile > Properties > SSh)
We will be using ESXTOP command.
There are different ways to stop ( “kill” ) a VM by using the vCLI, PowerCLI or the console session. In ESXi 5 it is possible to kill a running VM, the process of the VM concerned, by using the esxtop command.
ESXi 5 Unresponsive VM – How-to Power Off
Step 1 – connect via SSH by using puty for example and enter esxtop.
Enter “esxtop”, then press “c” for the CPU resource screen and shift + V to display VMs only.
Step 2 – changing the display and locating the LWID number
Press “f” to change the display fields and press “c” in order to show the LWID (Leader World Id) and press ENTER.
Step 3 – Invoking the k (kill) with the number does it…..
Now when you have the LWID column there, you can see the VM which interests you by the LWID number.
You can press “k” and enter the LWID number of the VM which you want to stop. Note that this is hard stop so, the next time that the VM will boot you'll probbably see this screen (depending on your guest OS of course).
If this method don't work, you can't vmotion the VM elsewhere or any other option don't work either, there might be a hardware problem with the host which can lead into PSOD.
There is also this KB which discuses other methods including the one described here – ESXi Unresponsive VM – VMware Kb. Also you might want to check Using hardware NMI facilities to troubleshoot unresponsive hosts (1014767)