我试图通过Stop-Service -Name (service name)
杀死PowerShell中的进程。
有时,该进程会正确退出,但有时,即使服务已停止,此应用程序的后台Java进程也不会停止。如果没有从PowerShell中停止Java,是否有解决方案来停止它。问题在于,我们必须找到正确的Java进程,并杀死它,因为我们还要运行其他Java进程。
答案 0 :(得分:1)
Stop-Service
不会终止进程。它向service control manager(SCM)发出请求,要求其停止具有特定名称的服务。然后,SCM将调用托管该服务的进程,并要求其停止。
当被询问时,服务可能无法正确关闭,并且SCM将使呼叫超时以停止服务。这往往导致服务显示为已在SCM中停止,但仍在后台运行,这就是您所看到的。
如果要明确终止托管该服务的进程,则需要找到一种将服务名称映射到进程ID的方法。 This question可能会对您有所帮助。