我太落伍了。自“#_something”以来,我没有设计系统启动/停止启动脚本。
我有一个基于 docker compose 的应用程序,我需要在启动时启动并在关机前停止。
现在认为正确的方法是:sysctl、systemctl、服务或其他。
因为这取决于 docker 运行,这取决于其他事情。我在想 systemctl
当前在引导时启动软件的正确方法是什么?你能推荐好的文档和例子吗?
我的实际使用是 RHEL 7.6+ 和 Unbuntu 18.4+,但我想支持最广泛的 linux/unix 平台基础
RHEL 7 和 Ubuntu 18.04 都使用 systemd,现在基本上所有主要发行版都使用 systemd。您需要为您的软件编写一个 systemd 单元文件。您提到了“服务”命令,这是 Red Hat 遗留的东西,并且在几乎所有情况下,它现在都只是重定向到 systemctl (systemd)。您还提到了“sysctl”,但它会调整内核参数,与本主题无关。
Red Hat 在 systemd 上有很好的文档,包括创建单元文件,这里是 RHEL 7 的链接:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd
您也可以直接查看源代码,尽管它远不如 Red Hat 的文档 IMO 组织良好:
https://www.freedesktop.org/wiki/Software/systemd/