You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto系统开机卡在启动界面,如何终止rc3.d中的无限循环脚本?

别急,这种启动卡死后没法正常操作的情况我碰到过好几次,给你几个靠谱的解决办法:

方法一:进入单用户模式直接修改

这是最稳妥的方式,绕过正常启动流程直接拿到root权限:

  • 重启你的系统,在GRUB启动菜单弹出来的时候(如果没看到,试试按Shift或Esc键唤出来),选中平时用的内核选项,按e进入编辑模式
  • 找到以linux开头的那一行,把行尾的ro改成rw init=/bin/bash(部分系统用rw init=/bin/sh也可以)
  • 按Ctrl+X或者F10启动,这时会直接进入根目录的shell,完全拥有root权限
  • 直接删掉那个搞事的符号链接:rm /etc/rc3.d/S*my_app(rc3.d里的启动脚本都是S开头的,用通配符能精准定位)
  • 做完后执行exec /sbin/init恢复正常启动流程,或者直接重启就行
方法二:用systemd紧急救援模式(适用于新发行版)

如果你的系统用的是systemd(现在大部分Linux发行版都是),步骤更简单:

  • 同样重启后在GRUB菜单选内核,按e进入编辑
  • 在linux开头的行末尾,加上systemd.unit=emergency.target
  • 启动后输入root密码登录,就能进入紧急模式shell
  • 重复上面删除符号链接的操作,之后执行systemctl default回到正常启动
方法三:远程SSH登录(如果之前配置过)

要是你之前给系统开了SSH服务,而且网络模块已经启动了(虽然脚本卡死,但SSH可能已经跑起来了),可以试试从另一台机器远程操作:

  • 用SSH登录root账号:ssh root@你的系统IP
  • 先找到那个无限循环脚本的进程:ps aux | grep my_app
  • 强制杀死进程:kill -9 <查到的进程ID>
  • 最后删掉rc3.d里的符号链接,避免下次启动再卡

小提醒

操作时注意别误删rc3.d里的其他文件,不确定的话可以先用ls /etc/rc3.d/查看一下所有符号链接,确认好目标再删除。

内容的提问来源于stack exchange,提问作者popro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:58:19