开发者

How to tell, using Perl, if a windows service is stalled, but still running

I have a problem that probably is not unique, but certainly does not seem to be widely reported.

I need a method to ping a windows service that will tell me if it has stalled out, even if windows is repor开发者_开发技巧ting that it is running.

I would prefer to use have a Perl solution but would accept any solution that someone can come up with.

Thanks, Jeremy


What service are you dealing with? I don't think there is any generic solution to your question if the Services control panel doesn't indicate a problem. In order to detect a running-but-no-longer-functioning-properly process, you have to know what "functioning properly" looks like.


You could use the Win32::Service module

use Win32::Service;
GetStatus(hostName, serviceName, status);

From http://metacpan.org/pod/Win32::Service: Get the status of a service. The third argument must be a hash reference that will be populated with entries corresponding to the SERVICE_STATUS structure of the Win32 API. See the Win32 Platform SDK documentation for details of this structure. You can even grab the service with GetServices(hostName, hashref).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜