如何杀死从 rc.local 开始的连续进程?

Sky*_*ler 3 linux debian bash raspberry-pi raspbian

我正在使用 Raspbian(基于 Debian)操作系统开发 Raspberry Pi。为了测试,我在/etc/rc.local

python /home/pi/test.py
Run Code Online (Sandbox Code Playgroud)

启动此脚本运行良好。但问题是我忘记了脚本中有一个无限循环,例如:

while True:
    print 'Hello"
    time.sleep(5)
Run Code Online (Sandbox Code Playgroud)

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

pab*_*ouk 5

您不能从控制台以交互方式终止进程,但您有多种选择如何避免在引导期间运行它。

a) 以单用户模式启动

在引导分区 (FAT) 中追加s以空格分隔的行cmdline.txt。启动后,您可以重命名/etc/rc.local、使其不可执行 ( chmod 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上述相同的措施。