场景:我打开了多个Firefox浏览器。在某个时候,我运行我的脚本以关闭所有已启动30分钟以上的firefox进程。

我在Windows上执行此操作。
是否有可能从流程中获得生命周期?

PROCNAME = "firefox.exe"

# Shuts down all PROCNAME processes
for proc in psutil.process_iter():
    if proc.name() == PROCNAME:
        proc.kill()

最佳答案

我只是将psutil用作上面建议的Amandan。我使用的是PROCNAME“ Google Chrome”,因为它是我正在运行的浏览器,因此我可以使用以下方法获得创建过程的时间。

我假设您可以从进程创建时间中减去当前时间,以获取浏览器已运行的时间。

import psutil
import datetime

PROCNAME = "Google Chrome"

for proc in psutil.process_iter():
    if proc.name() == PROCNAME:
        p = psutil.Process(proc.ppid())
        print(f"Creation time of {PROCNAME} process: ", datetime.datetime.fromtimestamp(p.create_time()).strftime("%Y-%m-%d %H:%M:%S"))


输出:
python - 如何知道Python进程的生命周期?-LMLPHP

10-06 16:14