python监控linux进程数量

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

#!/usr/bin/python# coding:utf-8import osdef 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 retdef 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 numif __name__ == "__main__":    print get_process_num("php-fpm")