python監控linux進程數量

python監控linux進程數量

工作原理:基於/proc 文件系統


#!/usr/bin/python
# coding:utf-8

import os

def get_all_pid():
    return [d for d in os.listdir("/proc") if d.isdigit()]

def get_cmdline(pid=[]):
    ret = []
    for pid_dir in pid:
        with open("/proc/{}/cmdline".format(pid_dir)) as f:
            cmdline = f.readline()
            if cmdline:
                ret.append(cmdline)
    return ret

def get_process_num(process_name):
    pids = get_all_pid()
    cmdlines = get_cmdline(pids)
    num = 0
    for line in cmdlines:
        if process_name in line:
            num += 1
    return num

if __name__ == "__main__":
    print get_process_num("php-fpm")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章