Gps python 2程序崩溃bash文件执行,raspberry pi

Gps python 2程序崩溃bash文件执行,raspberry pi,bash,python-2.7,python-3.x,gps,raspberry-pi,Bash,Python 2.7,Python 3.x,Gps,Raspberry Pi,我最近遇到了一个问题,使用bash文件在Raspberry Pi上执行python脚本。我有两个程序,第一个不需要提及,因为运行它没有问题。然而,第二个从我的USB GPS接收器读取GPS数据,一旦它从基于终端的bash文件执行,它就结束无限循环bash文件的运行。它在Python2中,第一个程序在Python3中。我不能将它们合并到一个程序中,因为Python3不支持GPS程序,因为模块没有更新。可以找到GPS程序的代码 我的代码唯一的区别是使用while循环使其执行10次而不是无限次。我想防

我最近遇到了一个问题,使用bash文件在Raspberry Pi上执行python脚本。我有两个程序,第一个不需要提及,因为运行它没有问题。然而,第二个从我的USB GPS接收器读取GPS数据,一旦它从基于终端的bash文件执行,它就结束无限循环bash文件的运行。它在Python2中,第一个程序在Python3中。我不能将它们合并到一个程序中,因为Python3不支持GPS程序,因为模块没有更新。可以找到GPS程序的代码

我的代码唯一的区别是使用while循环使其执行10次而不是无限次。我想防止这个程序过早地结束bash文件,使其无限运行。我尝试从另一个bash文件运行bash文件,因此如果发生崩溃,脚本将重新启动,但在GPS程序完成执行后,终端似乎不再接受任何输入。在此方面的任何帮助都将不胜感激! 我的bash文件如下所示:

#!/bin/sh
while true; do
    echo "Running programs"
    sh ./programtimer.sh 
    sleep 20 
done 

programtimer.sh
只运行两个python程序,GPS程序在第二个运行

欢迎来到这个网站!首先,将
/bin/sh
更改为
/bin/bash
,将
sh
更改为
bash
。如果脚本使用特定于bash的功能,则尝试在
sh
下运行它们将失败。第二,如果您可以将所有内容合并到一个脚本中,那么调试可能会更容易。第三,请你澄清一下好吗?您提到了
programmer.sh
programmetimer.sh
。那是打字错误吗?谢谢我对你看到的问题有点困惑。您提到“在GPS程序完成执行后,终端似乎不再接受任何输入”,但这似乎很正常。最外层的bash脚本仍在运行while循环;您应该在20秒钟内看不到输出,然后它应该再次运行programmer.sh。我的问题是,在它完成内部脚本后,20秒钟后它不再重新启动,是的,我确实有一个错误,我会纠正它。我认为问题在于python 2 GPS程序是如何运行的,它使用线程和类,它的执行非常完美。在它自己的情况下,但是在使用bash脚本执行它之后,bash脚本不再运行,而在脚本中调用另一个程序的情况并非如此,因为它在执行该程序后仍然运行。