Python如何同时运行多个shell命令?

软件和网站开发以及相关技术探讨
回复
flac
帖子: 408
注册时间: 2009-05-29 15:21

Python如何同时运行多个shell命令?

#1

帖子 flac » 2017-02-18 22:23

cmd1 = "uxterm -e aria2 ..."
subprocess.call(cmd1, shell=True)

cmd2 = "mplayer ..."
subprocess.call(cmd2, shell=True)


像上面那样,必须cmd1结束后才开始运行cmd2,我想要cmd1和cmd2同时运行,该怎么办?
也就是cmd1打开一个xterm窗口让它去执行aria2下载的同时,cmd2这边的mplayer也能同时执行。

初学python的新手,请多指教。 :em06
buntutu
帖子: 65
注册时间: 2009-11-25 1:38

Re: Python如何同时运行多个shell命令?

#3

帖子 buntutu » 2017-03-10 18:37

使用 Popen(), 不要用 call() 就可以
头像
hceasy
论坛版主
帖子: 6009
注册时间: 2010-04-17 18:51
系统: W10

Re: Python如何同时运行多个shell命令?

#4

帖子 hceasy » 2017-11-28 10:42

import threading
cmd1 = threading.Thread(target=shell1)
threads.append(cmd1)
cmd2 = threading.Thread(target=shell2)
threads.append(cmd1)
for t in GLOBAL_VAR.threads:
t.start()
t.join()
如果有同时读取一个变量的操作 注意用原子锁
回复