python 獲取進程pid號


#-*- 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):
  name = argv[1]
  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):匹配第一個()中的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM