创建企业启动脚本(以支持所有 Linux 发行版)

创建企业启动脚本(以支持所有 Linux 发行版)

我想创建自己的初始化脚本,使我的程序在启动时启动并通过大多数流行的 Linux 发行版中的“服务”实用程序进行控制。

要求:

  • 它应该可以在不同的发行版之间移植(它至少应该支持 Debian/Ubuntu 和 RedHat/Centos)
  • 它不应该依赖于任何额外安装的软件包
  • 它应该控制我的程序是否成功启动或遇到某种错误
  • 它应该在收到请求时可靠地停止我的程序(有时初始化脚本说“停止......确定”但它仍在运行)

例如,我可以这样做:

case "$1" in
start)
    ./start-jira.sh
    ;;
stop)
    ./stop-jira.sh
    ;;
*)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
esac

但在这种情况下,需要检查程序是否已使用“ps”正确启动并在关闭时正确终止。

寻找正确的方法。是否有任何标准可以满足所有这些 systemd、upstart 等?

谢谢

答案1

没有适用于所有 init 系统的嵌入式脚本。虽然您可以编写一个启动守护进程的脚本(类似于 tomcat 的 bin/startup.sh),但您需要一些配置文件或脚本来用于目标发行版正在使用的实际 init 系统。

相关内容