win10系统,用python调度其他程序执行和输入参数(exe)
我有10个程序, 分别是exe1,exe2,exe3...exe10。
我希望同一时间,有任意3个exe程序在运行。
每个exe运行一段时间(lifetime)后,就退出(进程被杀掉),
然后通过python,再随机启动一个exe, 这样保证任何时刻,都正好有3个exe运行。
希望用多线程来调度。每个exe启动后,我在启动它的线程里给exe提供参数,让他运行。
exe退出后,线程也结束。
我自己的思路如下,可是自己太菜,写不好。
下面思路也比较乱,请大佬指教。
1 10个程序 名字分别是 exe_1,exe_2,...exe_10,名字存在pool[]里。
pool = ['exe_1','exe_2'......'exe_10']
有一个正在跑的程序列表 running = [],开始为空。
2 主线程循环
while (len(running) < 3 ):
exe = random.choose(pool)
threading.Thread(target=do,exe_i).start()
#随机启动一个exe, 取得
#如果running里面的exe数量小于3, 则随机启动新的exe,
#主线程 从pool中随机选取3个程序, exe_i, 名字放入running[],并从pool中删除exe_i
3 针对running[]中的每个程序,
赋值 lifetime = 10000# 生命周期 10000s.
启动新的线程, 执行函数 do(exe_i),启动程序exe_i,exe_i的并获得 进程id pid_exe_i .
4 对于任何一个线程,如果lifetime到期, 线程结束,并杀死exe_i的进程
线程结束
kill pid_exe_i
def do(exe_i):
os.command(start exe_i)
input argc
--
FROM 180.164.178.*