Python中如何查看某个脚本的运行状态
#!/usr/bin/python3
import sys
import datetime
import os
import time
if name == ‘main’:
while 1:
startTime=datetime.datetime.now()
main_path=’./main.py’
py=sys.executable
status=os.system(r’{} {} {} {}’.format(py, main_path, sys.argv[1],sys.argv[2]))
if status==0:
time.sleep(120)
else:
endTime=datetime.datetime.now()
if endTime-startTime>60*60:
break
我现在在程序里启一个脚本,我想判断这个脚本运行了超过 1 个小时就 kill 掉,如何写?
Python中如何查看某个脚本的运行状态
multiprocess
在Python里,要看你自己的脚本跑得咋样,最直接的办法就是用 psutil 库。它能让你轻松拿到进程的CPU、内存这些信息。
首先,你得装上它:pip install psutil。
下面这个例子,展示了怎么获取当前Python脚本自己的进程ID(PID),然后查它的CPU和内存占用:
import psutil
import os
# 获取当前进程的PID
pid = os.getpid()
# 通过PID创建进程对象
process = psutil.Process(pid)
# 获取CPU使用率(百分比)
cpu_percent = process.cpu_percent(interval=0.1) # 间隔0.1秒采样一次
# 获取内存信息
memory_info = process.memory_info()
memory_mb = memory_info.rss / (1024 ** 2) # 将字节转换为MB
print(f"进程PID: {pid}")
print(f"CPU使用率: {cpu_percent}%")
print(f"内存占用: {memory_mb:.2f} MB")
# 你还可以获取更多状态,比如进程创建时间、状态等
print(f"进程状态: {process.status()}")
print(f"进程创建时间: {process.create_time()}")
如果你是想监控另一个在跑的脚本,你需要知道它的PID。你可以用 psutil.process_iter() 来遍历所有进程,通过进程名或者命令行参数来找到它。
简单说,用 psutil 就对了。
然后开一个线程开始 sleep,超时就 kill
具体如何操作
RTFM

