2
两个同时运行的子过程,我试图在同一时间从一个树莓派一个Python模块执行两个子进程。目前第二个过程必须等待第一个过程完成,但我想知道是否有办法让它们同时启动。正在读取的数据仅在每5秒钟给出一行,而两个.sh程序每次完成时间不会超过一秒。如果您对如何正确执行此操作有任何建议,或者有任何建议,我们将不胜感激。代码如下:从Python模块
f = open("testv1.txt", "a")
import serial
import subprocess
ser = serial.Serial('/dev/ttyACM0', 115200)
while 1:
x= ser.readline()
subprocess.call(['./camera1.sh'],shell=True)
subprocess.call(['./camera2.sh'],shell=True)
print(x)
f.write(str(x))
所以我改变了代码,以便它现在的作用:
cam1 = subprocess.Popen("./camera1.sh")
cam2 = subprocess.Popen("./camera2.sh")
,但现在我收到以下错误:
Traceback (most recent call last):
File "/home/pi/Desktop/Doyle/CaptureV1/testv1.py", line 7, in <module>
cam1 = subprocess.Popen("./camera1.sh")
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
任何其他建议上如何解决它?
我太累了,它仍然是不工作我收到以下错误消息 – user3754203
如果这个命令不起作用并引发OSError,请尝试使用Popen函数中的shell = True选项。如果不起作用,你使用的是什么Python版本,你的bash脚本是否正确? – GiulioG
shell = True解决了这个问题,谢谢你对我的问题的帮助 – user3754203