A service stuck in a stopping or starting state can make for a frustrating experience for a Windows systems administrator trying to avoid a mid-day server restart.
Almost any service could hang, but it typically happens with critical application services such as those involved in Microsoft Exchange, like IMAP. Using the DOS Taskkill command can allow you to put off rebooting the server until after business hours.
In Server Manager, find the stuck service and double click it. Make note of the service's short name (also known as Registry name). For example, POP3 might be called POP3Svc or MSExchangePOP3, depending on your version of MS Exchange.
Launch a command prompt (for Windows 2008 or later, run as administrator).
Type the following, where servicename is the service name that you noted above, and hit Enter.
sc queryex servicename
From the results of this query, write down the PID.
Still at the same command prompt, type the following and hit Enter, where [PID] is the PID that you just noted.
taskkill /f /pid [PID]
This will forcibly kill the frozen service. You can now return to Server Manager and restart the service.
You can use Taskkill on Windows 2003 and 2008 servers, and also on workstations running Windows XP Professional, Windows Vista and Windows 7. On a workstation, though, it's often easier to just restart the computer. For a server, even after completing these steps, it's probably a good idea to restart at the next opportunity.