gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 12:12:10 24 4
gpt4 key购买 nike

我在 Debian 上使用 .NET 核心。

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

我尝试了 System.ServiceProcess.ServiceController.GetServices() 但它似乎仅适用于 Win32。

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

怎么做?

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

最佳答案

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

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

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

关于linux - Debian 上的服务列表及其状态 .NET Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39383855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com