Linux 启动时停止Raspberry Pi运行程序

Linux 启动时停止Raspberry Pi运行程序,linux,raspberry-pi,raspbian,Linux,Raspberry Pi,Raspbian,我试图弄清楚如何在启动时运行一个程序,但是在意识到这个程序是一个无限循环之后,我没有办法离开,或者回到终端。当我给π幂时,它正好进入黑色背景上的程序。我不记得我到底做了些什么来让它在启动时运行,我相信我只是在一个地方添加了一些代码,上面写着“退出0”,下面写着“esac”。我不记得是什么命令把我带到那里的。(我对Pi和Python还不熟悉,只是一直在玩……不成功。) 如果有人能帮我删除这个程序,或者让我能够编辑它,这样我就可以修复无限循环了,那就太好了。我不想用一个新的raspbian完全重写s

我试图弄清楚如何在启动时运行一个程序,但是在意识到这个程序是一个无限循环之后,我没有办法离开,或者回到终端。当我给π幂时,它正好进入黑色背景上的程序。我不记得我到底做了些什么来让它在启动时运行,我相信我只是在一个地方添加了一些代码,上面写着“退出0”,下面写着“esac”。我不记得是什么命令把我带到那里的。(我对Pi和Python还不熟悉,只是一直在玩……不成功。)

如果有人能帮我删除这个程序,或者让我能够编辑它,这样我就可以修复无限循环了,那就太好了。我不想用一个新的raspbian完全重写sd卡。但就像我说的,我在启动时什么都做不了,而且Ctrl+C什么都做不了,Ctrl+Alt+Delete也做不了

编辑:当我将SD卡放入计算机时,我看到一个包含11个文件的列表: 启动码 内核命令行 配置 修理 修复光盘 问题 内核 内核压缩 紧急情况 start.elf 启动cd.elf


所有这些对我来说都没有任何意义…

更新:看起来我无法获得您想要中断正在运行的引导过程并停止脚本的信息

最简单的方法是打开pi,拔下sd卡并将其插入桌面,(重新)移动脚本并再次引导


引导期间生成的进程存储在
/etc/init.d/…
中的脚本中。这些脚本由init进程调用,这是Linux机器上的第一个进程(PID:1)

但是init并不是启动
/etc/init.d
中的所有脚本。这取决于运行级别。在debian系统上有7个

对于每个运行级别,都有一个名为like的文件夹:

/etc/rc0.d
...
/rc6.d
其中存储了指向/etc/init.d脚本的软链接

要删除每次启动时执行的脚本,您将删除该文件夹中的所有链接。通常在debian系统上,这是使用
更新rc.d
工具完成的:

update-rc.d NAME_OF_INIT_SCRIPT remove

您还应该查看文件
/etc/rc.local

,您可以使用cmdline.txt。 首先,在sd卡上添加或修改cmdline.txt文件。添加“init=/bin/sh”,然后重新启动Pi,可以看到命令行提示符。
键入“sudo nano/etc/rc.local”编辑文件,并注释或删除包含错误的行。重新启动后。

我遇到了完全相同的问题,无法使用CTRL+C退出进程。我按照上述方式编辑了cmdline.txt,但pi没有为我的键盘加载必要的usb驱动程序


因此,最终我通过SSH登录到pi,并以这种方式修改了我的rc.local文件。

我遇到了与本文开头解释的相同的问题。我的Python应用程序陷入了无休止的循环

我尝试了Ctrl+Alt+F2命令,就像在互联网上的许多帖子中推荐的那样,没有打开任何终端窗口。显然,在多次尝试和重新启动之后,每次应用程序的循环重新启动时,我都会看到一个终端窗口。在我开始用手机的慢动作视频录制屏幕之前,我不可能捕捉到任何东西,是的,带有Linux提示符的终端窗口处于活动状态,并且能够接受键盘输入

我所做的就是(几乎是盲目地)用

sudo nano filename command 
输入一些字符,以便实际损坏该文件,保存并关闭它,重新启动Pi。 在引导结束时,该文件产生了一个错误,但系统仍准备运行

然后我就能够以正常的方式修复这个bug。
它希望这可能对其他人有用。在我的情况下,它使我免于烧掉一个新的拉斯比安人和失去我以前所有的工作

Alt+PrintScn+k终止从rc.local运行的进程。我陷入了完全相同的问题。幸运的是,我启用了ssh,显然这在Raspbian Jessie上是默认禁用的,所以这可能不适用于所有人

出口0是/etc/rc.local中的一行,您可以在脚本中添加该行,该脚本现在以连续模式运行。如果您可以使用Putty和Pi的IP地址ssh到Pi中,那么

sudo nano /etc/rc.local
向下滚动到文件底部并删除有问题的程序,然后sudo重新启动

防止此问题发生的方法是在行的末尾添加一个&(符号)来分叉进程,并将其作为单独的进程运行,如下所示

python /home/pi/myscript.py &


符号允许命令在单独的进程中运行,并在进程运行时继续引导。

在我的例子中,它停止当前会话并打开登录屏幕

将SD卡插入计算机并删除程序。我不知道这与Python有什么关系。这是Linux配置问题。@DanielRoseman删除了python标记,但我无法进入终端窗口。当我给它电源时,它会无限显示一个带有白色文本的黑屏,我无法退出。我同意@user2506445-如何停止运行程序,因为通常的CTRL-C不起作用。还有两个人在上面评论说,这与python无关——呃,如果它是python程序,那么您正在搜索如何停止python程序运行……当然这确实与python有关(是的,我知道它也是linux的东西——当然它可以有2个标记?)