init.d 脚本导致启动挂起

init.d 脚本导致启动挂起

我成功安装了一个脚本,以便在我的新 Raspberry Pi 上的 /etc/init.d 中自动启动。

不幸的是,它是一个永远不会返回的 Node.js 应用程序,因此在启动期间挂起设备(这是在 Debian 上)。是的,我是个白痴。

我可以在启动过程中进行秘密握手以防止它运行我的 init.d 脚本,以便我可以登录并使用 shell 来修复它吗?

答案1

假设node.js初始化脚本在sshd或任何其他外部访问脚本之前运行(否则,您可以远程登录,禁用脚本,然后重新启动),最简单的方法是将您的SD卡带到另一台计算机并将其挂载到那里,找到 init 脚本,并将其移出 init 目录。是的,它需要一个外部系统,但无论如何你都需要一个外部系统来准备闪存盘,所以我希望你身边还有一个。

Raspbian 还有一个安全模式,但听起来您没有运行该模式。以下是相关的论坛链接,以防有帮助:

答案2

仔细检查有问题的脚本。确保init在其依赖项运行时尝试启动它,并且它们已配置为启动。将启动服务的脚本与类似服务的脚本进行比较,编写这些脚本有点像魔术。在提交自动启动之前,手动启动它(类似service mydaemon start可能可用的东西)并检查发生了什么,它是否有效,以及日志中是否显示了某些内容。类似地检查它是否完全关闭。如果满足以上几点,请尝试再次自动启用。

祝你好运!

相关内容