#!/usr/bin/python python监控linux进程数量

工作原理:基于/proc 文件系统

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")