如何使用Python了解进程的生命周期?
场景:我打开了多个Firefox浏览器。在某个时刻,我运行我的脚本来关闭所有已启动超过30分钟的firefox进程 我在Windows上做这个。 是否可以从进程中获得生存期如何使用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() 我只是按照上面的建议使用了
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的每个进程。但是谢谢你的回答真的很好!