通过Windows服务在Windows服务器上检查服务状态在Ubuntu服务器上

问题描述:

我的Windows服务(C#)有一个巨大的问题。我们在几台服务器上进行了系统更改(从Windows 2012R2到Ubuntu),并且为所有这些服务器编写了一个监视工具,作为在Windows服务器上运行的Windows服务。在这个服务中,我检查了一些在服务器上运行正常的东西。我必须检查的一件事是如果一些特殊的Windows服务(例如iis)在state = running中。通过Windows服务在Windows服务器上检查服务状态在Ubuntu服务器上

所以 - 是否有任何可能从我的监控服务以编程方式检查Ubuntu服务?我可以在Ubuntu shell上设置命令吗?或者启动一个bat文件?

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

使用ServiceController不起作用我猜是因为Windows!= Ubuntu ?!

它应该是一个“简单”的方式来做到这一点 - 所以如果它太华丽我不会这样做。

任何信息将不胜感激。

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

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

有两个选项有:

1 - 连接通过SSH与管理员权限,并发出“服务(服务名)的状态”的账户,如果该服务正在运行或不导向这个屈服。要通过SSH进行连接,服务器必须配置SSH服务器并使用一些用于SSH连接的C#库(例如:https://sshnet.codeplex.com/

2-创建C#服务并在您的服务器上使用Mono,可以像“ps”一样在本地执行命令或使用Process.GetProcesses(),那么您可以按照您最喜欢的方式(例如TCP或UDP)与您的Windows进程交流此进程。

+0

no mono!我认为单声道是Linux/Ubuntu服务的C#工具?我的监控服务正在Windows服务器上运行。 –

+0

呃,然后我误解了这个问题,对不起! – Gusman