使用python 获取进程pid号的方法

yipeiwu_com6年前Python基础

保存为.py文件后 运行脚本在后面添加进程名称即可 比如:python proinfo.py qq 即可获取QQ的进程信息,注意不区分大小写

复制代码 代码如下:
#-*- encoding:UTF-8 -*-
import os
import sys
import string
import psutil
import re

def get_pid(name):
  process_list = psutil.get_process_list()
  regex = "pid=(\d+),\sname=\'" + name + "\'"
  print regex
  pid = 0
  for line in process_list:
    process_info = str(line)
    ini_regex = re.compile(regex)
    result = ini_regex.search(process_info)
    if result != None:
        pid = string.atoi(result.group(1))
        print result.group()
        break
def main(argv):<br>  name = argv[1]<br>  get_pid(name)

if __name__ == "__main__":
  main(sys.argv)

代码说明:

1.import psutil 需要安装,用于获取linux下进程列表

复制代码 代码如下:
process_list = psutil.get_process_list() #获取进程列表

2.import re: python处理正则的模块

复制代码 代码如下:
regex = "pid=(\d+),\sname=\'" + name + "\'" #组成string类型的正则表达式
ini_regex = re.compile(regex)#初始化正则表达式
result = ini_regex.search(process_info)#正则表达式匹配
result.group(0):匹配到的整个字符串的内容
result.group(1):匹配第一个()中的内容

相关文章

python中string模块各属性以及函数的用法介绍

任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作。 python的字符串操作通过2部分的方法函数基本上就可以解决所有的...

Python实现串口通信(pyserial)过程解析

pyserial模块封装了对串口的访问,兼容各种平台。 安装 pip insatll pyserial 初始化 简单初始化示例 import serial ser = se...

Python读取本地文件并解析网页元素的方法

如下所示: from bs4 import BeautifulSoup path = './web/new_index.html' with open(path, 'r') as f...

python 日期排序的实例代码

问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','1989-3-7','2010-1-5','978-12-1','2010-2-4')参照方法1...

python简单实现矩阵的乘,加,转置和逆运算示例

本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算。分享给大家供大家参考,具体如下: 使用python完成矩阵的乘,加,转置和逆: # -*- coding:utf-8 -...