【发布时间】:2015-06-08 12:08:14
【问题描述】:
我正在调整一个监控系统来检查服务是否正在运行。它通过检查进程名称及其内存消耗来做到这一点。一旦低于 1 MB,就会触发警报。我还使用内存使用值将其显示在图表中。所以检查和通知并不是唯一的目的。
目前我有 5 个 Windows 服务使用相同的 ProcessName,但我不知道如何让我的脚本区分它们。每个服务的ServiceName 当然不同,可执行文件的路径也不同。
当我运行get-process 时,我看到了所有这些,但我没有看到一个选项来区分它们。使用get-service 也没有多大帮助,因为它返回名称、显示名称和状态。不知何故,我很想组合这些条目以按服务名称而不是进程名称查看内存使用情况。
【问题讨论】:
-
您需要进行两次查询。看看使用
win32_serviceWMI 对象。这将列出相应的进程名称和服务的 PID,然后您可以在get-process命令中使用它们 -
听起来不错,谢谢arco444
标签: powershell memory windows-services monitoring powershell-3.0