通过Windows服务器上的windows-service检查ubuntu服务器上的服务状态

时间:2016-01-21 13:30:53

标签: c# shell ubuntu command-line windows-server

我的Windows服务(C#)存在很大问题。我们在一些服务器上进行了系统更改(从Windows 2012R2到Ubuntu),对于所有这些服务器,我编写了一个监视工具,作为在Windows服务器上运行的Windows服务。在这项服务中,我检查了服务器上的一些工作正常。我需要检查的一件事是,是否有一些特殊的Windows服务(例如iis)在state = running

那么 - 是否有可能以编程方式从我的监控服务中检查Ubuntu-Service?我可以在Ubuntu shell上设置命令吗?或者开始一个蝙蝠文件?

ServiceController sc = new ServiceController("servicename", "ubuntu-IP"))

使用ServiceController无法正常工作,因为Windows!= Ubuntu?!

这应该是一种“简单”的方式 - 所以如果它太华丽我就是不这样做。

任何信息都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

编辑:完全改写,我误解了这个问题。

Linux不像Windows那样使用服务,首先没有基础设施来远程检查和管理Windows域中的服务。

您有两种选择:

1 - 通过SSH连接具有管理员权限的帐户并发出“service(servicename)status”,如果服务正在运行,这将产生。要通过SSH连接,服务器必须配置SSH服务器并使用一些C#库进行SSH连接(例如:https://sshnet.codeplex.com/

2 - 创建一个C#服务并在服务器上使用Mono,这样服务可以在本地执行命令,如“ps”或使用Process.GetProcesses(),然后你就可以按照你的方式将这个过程与你的Windows进程通信最好的,例如TCP或UDP。