【发布时间】:2026-02-03 17:20:10
【问题描述】:
我想从我的 C#.net 客户端读取 linux 服务器中所有正在运行的进程? 你能告诉我实现这一目标的方法或可能性吗?
我们在同一个域中。我想没有防火墙问题,但我无法在服务器上编写或安装任何东西。
(我正在尝试获取在 linux 机器上运行的进程 ID,并且当该进程更改进程 ID 时......我必须在我的客户端应用程序中运行一些逻辑)
【问题讨论】:
-
缺少从客户端程序通过 rsh 或 ssh 运行 ps,我不确定是否会有更好或可能的方法来做到这一点。很想知道是否还有其他选择。
-
也许我遗漏了一些东西,但是 linux 进程真的可以改变他们的 ID 吗?
-
@Joe:你为什么认为需要另一种选择?通过 ssh 调用
ps肯定是最便携的。如果已经安装了正确的 snmp 代理,则可能会获得一个作为 snmp 表的进程列表,但这不适用于大多数发行版的开箱即用安装。 -
@Ben Voigt:不是假设,只是好奇。在这种情况下,我会这样做。 @Martinho:同一个进程不能更改它的 ID,但如果进程停止/重新启动(手动或自动),它将有一个新的 PID。