#-*- 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):匹配第一個()中的內容
