Python有一个PSUtil的库可以管理进程
def killLongRunningPids(pids, max_run_minutes):
for pid in pids:
try :
ps = psutil.Process(pid)
ps_name = ps.name.lower()
create_time = int(ps.create_time)
create_time = time.time() - create_time
create_time = int(create_time / 60)
if (create_time >= max_run_minutes):
print timestamp() + "Killing process: %s PID: %s running past: %s minutes." % (ps_name, pid, create_time)
ps.kill()
except Exception, e:
pass
def getPidListFromProcessNames(process_names):
pids = []
for pid in psutil.get_pid_list():
for process_name in process_names:
try :
ps = psutil.Process(pid)
ps_name = ps.name.lower()
if ps_name.find(process_name) != -1 and pid not in pids:
pids.append(pid)
except Exception, e:
pass
return pids