亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python監(jiān)控nginx端口和進(jìn)程狀態(tài)

 更新時(shí)間:2019年09月06日 08:33:18   作者:狼叔也瘋狂  
這篇文章主要為大家詳細(xì)介紹了python監(jiān)控nginx端口和進(jìn)程狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python監(jiān)控nginx端口和進(jìn)程狀態(tài)的具體代碼,供大家參考,具體內(nèi)容如下

#!/usr/local/bin/python
# coding:utf-8
import psutil
import sys
import os
 
# 獲取主機(jī)名稱
def hostname():
  sys = os.name
  if sys == 'nt':
    hostname = os.getenv('computername')
    return hostname
  elif sys == 'posix':
    host = os.popen('echo $HOSTNAME')
    try:
      hostname = host.read()
      return hostname
    finally:
      host.close()
  else:
    return 'Unkwon hostname'
 
# 獲取進(jìn)程狀態(tài)
def processStatus(processName):
  pids = psutil.pids()   #獲取主機(jī)所有的PID
  a = 1
  for pid in pids:      #對(duì)所有PID進(jìn)行循環(huán)
    p = psutil.Process(pid)  #實(shí)例化進(jìn)程對(duì)象
    if p.name() == processName:   #判斷實(shí)例進(jìn)程名與輸入的進(jìn)程名是否一致(判斷進(jìn)程是否存活)
      print (a)   #返回1,進(jìn)程存活
      a += 1
  if a == 1:
    print (0)         #返回0,進(jìn)程逝去
 
# 獲取進(jìn)程PID
def processPID(processName):
  pids = psutil.pids()
  for pid in pids:
    p = psutil.Process(pid)
    if p.name() == processName:
      return pid
      return True # 如果找到該進(jìn)程則打印它的PID,返回true
  else:
    print('找不到進(jìn)程'+processName)
    return False # 沒有找到該進(jìn)程,返回false
 
# 獲取進(jìn)程的端口號(hào)
def processPort(pid):
    p = psutil.Process(pid)
    data=p.connections()
    data_listen=[x for x in data if 'LISTEN' in x ]
    # pid_port=[]
    # for port in data_listen:
    #   pid_port.append((port.laddr.port))
    # return list(set(pid_port))
    return list(data_listen[0][3])[1]
 
hostname=hostname().strip()
PID=processPID('nginx')
port=processPort(PID)
 
json_data = [
{"name": hostname+'-nginx', "port": port,"host_ip":LOCAL_IP,"PID":PID}
]
 
AutoDiscoveryJson(json_data, object_id='HOST')

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論