如何终止从 rc.local 启动的连续进程?

如何终止从 rc.local 启动的连续进程?

我正在使用带有 Raspbian(基于 Debian)操作系统的 Raspberry Pi。为了进行测试,我在以下位置添加了这样的命令/etc/rc.local

python /home/pi/test.py

启动这个脚本时一切正常。但问题是我忘记了脚本中有一个无限循环,如下所示:

while True:
    print 'Hello"
    time.sleep(5)

这个循环会阻止系统启动,所以我无法进入系统编辑脚本。Ctrl+C 无法将其杀死。所以我想知道如何杀死从 启动的连续进程rc.local

答案1

您无法从控制台以交互方式终止该进程,但您有多种选择可以避免在启动期间运行该进程。

a) 以单用户模式启动

将 附加到启动分区 (FAT) 中s的行,中间用空格隔开。启动后,您可以重命名、使其不可执行()或编辑它。cmdline.txt/etc/rc.localchmod a-x /etc/rc.local

b) 使用 shell 启动,而不是init

将空格分隔的行附加init=/bin/sh到 中的行。这将绕过任何启动脚本的启动。然后您可以采取与上述cmdline.txt相同的措施。/etc/rc.local

c) 在不同系统中挂载 Linux 分区

将 SD 卡放入不同的系统并在那里挂载分区。然后您可以采取与上述/etc/rc.local相同的措施。/etc/rc.local

答案2

我有一个相同类型的应用程序,在重启后可以无限播放。对于任何更改,我都会将其安装到另一个系统并进行更改,然后将其放回我的主板。这是最简单的方法。

相关内容