Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python了解进程的生命周期?_Python_Process_Lifetime - Fatal编程技术网

如何使用Python了解进程的生命周期?

如何使用Python了解进程的生命周期?,python,process,lifetime,Python,Process,Lifetime,场景:我打开了多个Firefox浏览器。在某个时刻,我运行我的脚本来关闭所有已启动超过30分钟的firefox进程 我在Windows上做这个。 是否可以从进程中获得生存期 PROCNAME = "firefox.exe" # Shuts down all PROCNAME processes for proc in psutil.process_iter(): if proc.name() == PROCNAME: proc.kill() 我只是按照上面的建议使用了

场景:我打开了多个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。我使用了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"))
输出:

我只是按照上面的建议使用了psutil。我使用了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"))
输出:

是一个非常好的模块,可以检索所有系统进程的信息,而且是跨平台的

psutil不提供进程运行多长时间的信息,但是,它提供了进程创建时间,因此可以轻松计算进程运行时间

import psutil
import time
PROCNAME = "firefox.exe"
for proc in psutil.process_iter():
      if proc.name() == PROCNAME:
        etime = time.time() - proc.create_time()
        print(etime)
        if(etime > 1800): #30mintues or more running time
          proc.kill()
是一个非常好的模块,可以检索所有系统进程的信息,而且是跨平台的

psutil不提供进程运行多长时间的信息,但是,它提供了进程创建时间,因此可以轻松计算进程运行时间

import psutil
import time
PROCNAME = "firefox.exe"
for proc in psutil.process_iter():
      if proc.name() == PROCNAME:
        etime = time.time() - proc.create_time()
        print(etime)
        if(etime > 1800): #30mintues or more running time
          proc.kill()

什么操作系统?作为跨平台解决方案安装;您正在寻找
进程(pid)。创建\u time()
@glibdud firefox.*exe**这能回答问题吗?;-)@美元。不是真的。我在其他平台上见过
.exe
s。什么操作系统?作为跨平台解决方案安装;您正在寻找
进程(pid)。创建\u time()
@glibdud firefox.*exe**这能回答问题吗?;-)@美元。不是真的。我在其他平台上看到过
.exe
s。这与我搜索的内容非常接近,但当我在第一个Google Chrome进程15分钟后打开另一个Google Chrome进程时。他们的开始时间是一样的。谢谢你的回答。真的很好。我重新启动了电脑,它更新了时间。我怀疑这就是创建时间正在跟踪的内容。我将尝试使用Selenium之类的工具运行该进程,看看它是否报告了一个单独的创建时间。这与我正在搜索的非常接近,但当我在第一个进程15分钟后打开另一个Google Chrome进程时。他们的开始时间是一样的。谢谢你的回答。真的很好。我重新启动了电脑,它更新了时间。我怀疑这就是创建时间正在跟踪的内容。我将尝试使用Selenium之类的工具运行该进程,看看它是否报告了一个单独的创建时间。当一个进程延长30分钟标记时,这也会杀死firefox的每个进程。但是谢谢你的回答真的很好!当一个进程延长30分钟标记时,这也会杀死firefox的每个进程。但是谢谢你的回答真的很好!