Python脚本在启动时运行,然后重新启动 - 如何重新获得控制权?
我犯了一个可怕的错误,正在寻找你的帮助!Python脚本在启动时运行,然后重新启动 - 如何重新获得控制权?
我已经通过编辑rc.local文件来设置我的树莓派来在启动时运行python脚本。除非我已经编写了我的脚本,以便在退出时重新启动树莓派,这将会很好。现在我陷入了无限循环,我无法编辑任何东西。每当我的脚本结束它重新启动pi,然后重新开始!
我的程序使用Pygame作为GUI,并且我有一个运行随附的NOOBS OS的Raspberry Pi 3。如果您需要更多信息,请询问。
任何帮助停止我的脚本,所以我可以访问pi而不会丢失任何数据将不胜感激。
编辑 -多么惊人的社区。感谢大家分享你的知识和时间。我有点恐慌,你们都很快找到我的帮助。如果您正在阅读本文,是因为您处于类似的困境中,我发现本的答案是最快最简单的解决方案,但如果这对您不起作用,我认为FrostedCookies的想法将成为下一个尝试。
我不确定这是否可行(我现在没有Pi),但如果脚本运行时无法正常访问终端,请尝试使用键盘快捷键Ctrl + Alt + F1打开一个,然后输入sudo pkill python
来杀死脚本(这也会杀死你机器上的任何其他python进程)。然后使用终端文本编辑器(vi
或nano
也许)编辑您的rc.local
文件,这样不会再发生。
我会首先将其关闭并重新开启..
如果它不会帮助
- 的ps aux | grep的-i蟒蛇
- killall蟒蛇 - 你会可能需要调整使用Python脚本名称killall命令代替或补充,以“蟒蛇”
我可以想象的唯一问题是,他陷入了一个无限启动循环,因此,如何在他的rc.local运行并重新启动之前有时间打开控制台并输入kill命令? – FrostedCookies
嗯,这取决于脚本在做什么,但它可能会使事情变得复杂一些:-)无论如何,关闭它并从其他设备访问代码将有所帮助,如果这是不可能的。 – dram
也许最简单的方法是从取出SD卡您Pi,将SD文件系统挂载到另一台运行linux的计算机上,并从那里编辑您的rc.local脚本以删除无限启动循环。您也可以备份您的数据,以避免出现问题。
谢谢FrostedCookies。听起来像它会解决问题。希望我可以在Windows PC上编辑rc.local文件。不幸的是,我目前还没有SD卡提供给USB适配器,所以这可能是我下班回家,休息一下,明天再试一次的提示。 – RedPython
嘿红,我认为NOOBs文件系统使用的是linux文件系统格式(ext4),所以windows不可能安装它。有几个选项,您可以使用可启动闪存或实时分发在您的PC上启动临时Linux发行版,也可以在Windows上安装Linux虚拟机以装载它。保持我们的发布! – FrostedCookies
谢谢磨砂。我不确定我在NOOB这个词后面有什么理解,但我真的很感谢你的帮助,并且一定会让你知道。 – RedPython
这是一个Raspberry Pi解决方案,而不是Python/unix,但可以将SD卡插入另一台计算机,挂载它并修改脚本以停止重新引导周期。
有关编辑另一台计算机在这里从皮的SD卡上的文件的更多信息:https://raspberrypi.stackexchange.com/questions/9515/how-to-access-the-rpi-root-ext4-file-system-by-inserting-sd-card-into-a-differen
说起谁的人从未使用的树莓派,这听起来像你可以通过断开电源停止。不知道这是否会保留你想访问的数据,我不知道。 – user2357112
重启之间有多长时间? – cdarke
将SD卡连接到您的PC并编辑'rc.local' – DeepSpace