Debian上的服务列表及其状态.NET Core

时间:2016-09-08 06:23:36

标签: linux debian .net-core

我在Debian上使用.NET核心。

尝试获取所有服务及其状态的列表。 (相当于service --status-all

我尝试了System.ServiceProcess.ServiceController.GetServices(),但它似乎只是Win32。

.Net COREFX库中有System.Diagnostics.Process.GetProcesses(),它为我提供了所有进程的列表(包括cron等服务进程)。

如何?

  • 区分哪些进程作为服务运行。
  • 只获取服务及其状态列表。

1 个答案:

答案 0 :(得分:2)

.NET Core中没有这样的工具。 Linux / Unix / BSD特定行为(如服务管理)已转移到以后的版本(如果有的话)。

在传统的Unix / Linux中,无法确定进程是否为服务。每个服务使用不同的方式(用户,进程组,后台,父pid,......)。此外,无法确定服务状态。 systemd可以在某些端口被激活时进行即时服务激活,这种情况更加复杂。但是,不要指望像Windows服务那样标准化。

要弄清楚,如何确定哪个进程是服务,您需要最终查阅Debian文档,并可能调用命令行实用程序而不是API方法。