如何在 Debian 中启动脚本?

如何在 Debian 中启动脚本?

我里面有一个脚本/etc/init.d/wifi,我想在启动时启动它。我首先通过运行授予它权限sudo chmod 755 wifi,然后我运行sudo update-rc.d wifi defaults。最后,我启用了它wifi enable并且它运行得很好。但是,当我重新启动时,该服务未激活。

为什么?我缺少什么?我使用的是 Debian 9。

答案1

首先,告诉 systemd 有关该服务的信息:

systemctl daemon-reload

这应该创建一个从 initV 启动到 systemd 单元文件的映射。现在你运行时应该会得到一些合理的输出......

systemctl status wifi

您可能需要启用该服务:

systemctl enable wifi

尽管这并没有解决确保它在初始化期间在正确的点启动的复杂性 - 即在依赖网络的服务之前启动。事实上,以这种方式启动网络是非常不寻常的。通常,systemd 和由 ifupdown、networkManager 或类似的网络处理的网络之间还有另一个抽象层。

答案2

答案3

update-rc.dsysinit 是在启动时处理服务的老式方式。

现在你需要处理

您可以创建一个systemd脚本。

另一个“黑客”是将脚本添加到/etc/rc.local,这样,它将在启动时执行。

相关内容