【发布时间】:2021-05-09 12:21:30
【问题描述】:
我正在测试一些竞争条件,所以我需要知道进程的结束时间。我用python subprocess.popen 启动子进程我可以从Popen 对象中获取pid,但是我怎么知道它的结束时间?有没有办法直接从子流程模块中获取它?如果没有,在 Linux 中,是否有可能知道给定 pid 的结束时间? (我正在并行运行多个子进程,所以我不能只在 subprocess.popen 之后使用 time 类来知道结束时间,我认为子进程正在后台运行,所以我在想我是否可以只搜索这个 pid all时间,一旦它不存在(意味着它已经结束了),我就可以知道它的结束时间)
【问题讨论】:
-
你能解释一下为什么,你认为你不能使用
time.time()吗?popen'知道'子进程何时完成,通常不需要轮询/搜索pid。 -
@MauriceMeyer 因为我有 8 个子进程同时在后台运行,我不认为 time.time() 是任何子进程的结束时间
标签: python python-3.x linux unix subprocess