python 获取进程pid号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #-*- 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):匹配第一个()中的内容
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步