打开一个在Python中运行相同程序的终端

时间:2015-12-18 04:14:12

标签: python linux bash

我熟悉如何从Python(os.system("gnome-terminal -e 'bash -c \"exec bash\"'"))打开一个终端,但是有没有办法打开另一个终端运行打开新终端的同一个程序?

例如,如果我正在运行名为foo.py的程序并打开另一个终端,则新终端也将运行foo.py

1 个答案:

答案 0 :(得分:0)

this question,它非常接近。但是,您希望将sys.argv添加为参数:

import sys
import subprocess
cmd = 'xterm -hold -e ./{0}'.format(' '.join(sys.argv))
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

请确保您以某种方式检查您已运行的进程/终端数量,否则它将在几秒钟内挂起您的计算机。