Rhel

獲取燒瓶網站和/或埠號的 python 程序 ID?

  • September 21, 2020

我有一些使用 python 燒瓶編寫的 Web 應用程序。我知道我在哪個埠上啟動了每個埠,並且每個埠都是使用 nohup 啟動的。每一個都是從類似的東西開始的nohup python mywebapp.py &

當我查看我的流程時ps,我只看到類似

36697 ?        60-21:36:16 python
36971 ?        63-19:11:43 python
37038 ?        65-06:57:22 python
37312 ?        54-23:33:16 python
37442 ?        54-09:14:57 python
37716 ?        47-19:45:17 python
68019 ?        00:29:24 python
146568 ?        00:20:57 python
146699 ?        00:17:08 python
150622 ?        00:32:20 python

如果我需要停止一個特定的 Web 應用程序,我怎樣才能從一個埠號返回到一個 python 程序 ID,以便我可以kill處理該程序?

您可以使用lsof來查找與已知埠​​號關聯的程序 ID

lsof -i :*port*

或者,您可能希望使用netstat可以顯示所有網路連接、路由表、介面統計資訊、偽裝連接和多播成員資格。

嘗試netstat -tulpn

另一種方法是將其添加到燒瓶應用程序本身。

from os import getpid
print("Creating PID file.")
fh=open("/var/run/yourAppNameWithPort.pid", "w")
fh.write(str(getpid()))
fh.close()

引用自:https://unix.stackexchange.com/questions/452048