查看服务器运行多少个ASP.NET Core程序

有时候,我们会想知道某台机器上面跑了什么程序。

当程序部署到IIS上面的时候,我们只需要打开IIS一看,就知道有多少个站点在运行了。

当我们在CentOS上面部署的时候,就没那么的直观了。

当然对于熟悉Linux命令的小伙伴还是很容易的。

下面就来看看如何在CentOS上面查看对应的信息。

说明,本文的所有环境都是基于Jexus的。

查看的命令如下

ps -ef | grep AppHost

输出结果

UID        PID  PPID  C STIME TTY          TIME CMD
root     12651 51914  0 Sep30 ?        00:19:38 [AppHost:crm] /data/project/crm/crm.dll --environment Staging
root     35237 51914  0 Sep29 ?        00:10:26 [AppHost:product] /data/project/product/product.dll --environment Staging
hwq      40167 39650  0 10:45 pts/0    00:00:00 grep --color=auto AppHost

其中,UID那行标题是手动加上去的。

下面是各字段的说明

字段 说明 用户名cpu的百分比显示? 若为pts/0等,则表示由网络连接主机进程。名称和参数 上面的示例中列出了两条主要的信息,表明当前服务器运行着两个dotnet core的程序。

根据CMD进一步细分,同时也可以看出是那两个程序

以第一个为例:

[AppHost:crm] /data/project/crm/crm.dll --environment Staging

其中,AppHost后面跟着的就是jws的配置文件名称

后面那部分就是运行 dotnet 时指定的dll和相关的参数。

了解Jexus的都应该知道Jexus运行dotnet core程序时是父子进程的关系,示例中的两个进程的PPID都是 51914,也很清晰的说明了这个问题。

用下面命令查看这个进程的信息时,可以看到它的CMD就是JwsMain,jws的核心进程

ps -p 51914

输出

  PID TTY          TIME CMD
51914 ?        00:01:40 JwsMain

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...