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

yipeiwu_com5年前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实现的分析并统计nginx日志数据功能示例

本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下: 利用python脚本分析nginx日志内容,默认统计ip、访问url、状态,可以通过修...

Python实现简单文本字符串处理的方法

本文实例讲述了Python实现简单文本字符串处理的方法。分享给大家供大家参考,具体如下: 对于一个文本字符串,可以使用Python的string.split()方法将其切割。下面看看实际...

详解Python进程间通信之命名管道

管道是一种简单的FIFO通信信道,它是单向通信的。 通常启动进程创建一个管道,然后这个进程创建一个或者多个进程子进程接受管道信息,由于管道是单向通信,所以经常需要创建两个管道来实现双向通...

分数霸榜! python助你微信跳一跳拿高分

前言 最近微信的跳一跳很火,大家看到排行榜上几百上千的分数,再看看自己百分左右的分数肯定很难过,我手残怪我吗?没关系,如果你跟着我来,也能让你分数霸榜。 原理 首先大家是有一个直观感受,...

python画图系列之个性化显示x轴区段文字的实例

python画图系列之个性化显示x轴区段文字的实例

今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录。 界面如下所示: 代码如下所示: import matpl...