如何使用Perl判断windows服务是否已暂停但仍在运行

如何使用Perl判断windows服务是否已暂停但仍在运行,windows,perl,windows-services,Windows,Perl,Windows Services,我有一个问题可能不是唯一的,但肯定没有被广泛报道 我需要一个方法ping一个windows服务,它会告诉我它是否已经停止,即使windows报告它正在运行 我更愿意使用Perl解决方案,但也会接受任何人提出的解决方案 谢谢, 杰里米你在处理什么服务?如果服务控制面板没有显示问题,我认为没有任何通用的解决方案。为了检测正在运行但不再正常运行的进程,您必须知道“正常运行”是什么样子。您可以使用Win32::Service模块 use Win32::Service; GetStatus(hostNam

我有一个问题可能不是唯一的,但肯定没有被广泛报道

我需要一个方法ping一个windows服务,它会告诉我它是否已经停止,即使windows报告它正在运行

我更愿意使用Perl解决方案,但也会接受任何人提出的解决方案

谢谢,
杰里米

你在处理什么服务?如果服务控制面板没有显示问题,我认为没有任何通用的解决方案。为了检测正在运行但不再正常运行的进程,您必须知道“正常运行”是什么样子。

您可以使用Win32::Service模块

use Win32::Service;
GetStatus(hostName, serviceName, status);
发件人:
获取服务的状态。第三个参数必须是散列引用,该散列引用将填充与Win32 API的服务状态结构相对应的条目。有关此结构的详细信息,请参阅Win32 Platform SDK文档。您甚至可以使用GetServices(主机名,hashref)获取服务。

Jeremy Petzold与Charles Petzold有关吗?如果是的话,我会问他。不,不幸的是我和查尔斯·佩佐尔德没有亲戚关系。。。如果我是一名职业球员,我的职业生涯就会轻松很多:-)是的,我已经在做这些了。如果服务按照管理工具中启动的方式进行报告,但实际上没有做任何事情,则没有多大好处。我想我有办法解决这个问题。当您使用HTTP请求点击正在运行的WebSpherePluglet时,它会返回一个字符串,所以我可以检查它是否正在实际运行。