#!/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")