首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Python获取Unix或Linux中程序的进程ID?

如何使用Python获取Unix或Linux中程序的进程ID?
EN

Stack Overflow用户
提问于 2010-09-21 23:05:25
回答 9查看 149.7K关注 0票数 73

我正在用Python编写一些监控脚本,并试图找到最干净的方法来获取任意随机运行的程序的进程ID (给定该程序的名称

就像这样

ps -ef | grep MyProgram

我可以解析它的输出,但是我认为在python中可能有更好的方法。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-09-21 23:58:28

试试pgrep。它的输出格式要简单得多,因此更容易解析。

票数 15
EN

Stack Overflow用户

发布于 2010-09-21 23:07:14

From the standard library

os.getpid()
票数 303
EN

Stack Overflow用户

发布于 2010-09-21 23:48:38

如果你不局限于标准库,我喜欢psutil

例如,要查找所有"python“进程:

>>> import psutil
>>> [p.info for p in psutil.process_iter(attrs=['pid', 'name']) if 'python' in p.info['name']]
[{'name': 'python3', 'pid': 21947},
 {'name': 'python', 'pid': 23835}]
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3761639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档