查看服務器運行多少個ASP.NET Core程序

有時候,咱們會想知道某臺機器上面跑了什麼程序。shell

當程序部署到IIS上面的時候,咱們只須要打開IIS一看,就知道有多少個站點在運行了。服務器

當咱們在CentOS上面部署的時候,就沒那麼的直觀了。網絡

固然對於熟悉Linux命令的小夥伴仍是很容易的。code

下面就來看看如何在CentOS上面查看對應的信息。進程

說明,本文的全部環境都是基於Jexus的。部署

查看的命令以下table

ps -ef | grep AppHost

輸出結果class

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那行標題是手動加上去的。配置

下面是各字段的說明終端

字段 說明
UID 用戶名
PID 進程的ID
PPID 父進程ID
C 進程佔用CPU的百分比
STIME 進程啓動到如今的時間
TTY 該進程在那個終端上運行,若與終端無關,則顯示?
若爲pts/0等,則表示由網絡鏈接主機進程。
CMD 命令的名稱和參數

上面的示例中列出了兩條主要的信息,代表當前服務器運行着兩個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
相關文章
相關標籤/搜索