我写运行下面的Python程序:多个“Gnome终端”与蟒蛇问题
import subprocess
import time
def fun1():
terminal1 = ['gnome-terminal']
terminal1.extend(['-x', 'sh', '-c', '"roscore"'])
pid = subprocess.Popen(terminal1, stdout=subprocess.PIPE)
time.sleep(3)
print "success1"
fun2()
def fun2():
terminal2 = ['gnome-terminal']
terminal2.extend(['-x', 'sh', '-c', '"rosrun rosserial_python serial_node.py /dev/ttyACM0"' ])
pid2 = subprocess.Popen(terminal2, stdout=subprocess.PIPE)
print "success2"
fun1()
FUN1正常工作,我等待3秒,因为它持续一段时间,直到一切是这样做的FUN2可以工作(我不能同时启动,fun2必须等待fun1,它永远不会结束fun2之前)
运行fun2时出现问题,我不知道错误在哪里,是“相同”代码在fun1中,但gnome终端只出现几毫秒,然后它消失...
有什么建议?
预先感谢您
fun2窗口在fun2关闭后仍然有效吗? – ton1c 2013-05-03 09:39:41
是的。 fun1窗口和fun2窗口都应该保持打开状态,因为在他们之后,我需要第三个窗口来执行其他命令。他们都是正在运行的进程来监听第三个进程要求的内容。我不知道为什么fun2窗口关闭... – flipmurry 2013-05-03 09:44:26
您确定命令'gnome-terminal -x sh -c“rosrun rosserial_python serial_node.py/dev/ttyACM0”'是否有效?如果它不起作用,它会打印一条错误消息,然后终端将关闭。 – 2013-05-03 09:58:22