6

嗨,我使用的是 64 位 Fedora 10 linux。我创建了一个示例 java 应用程序。现在我想为该应用程序编写初始化脚本。这样我的应用程序应该在启动时启动。

如何编写初始化脚本以在启动时启动。

谢谢 Sunil Kumar Sahoo

4

4 回答 4

5

这里有一个很好的指南:

http://www.novell.com/coolsolutions/feature/15380.html

我建议看一下 tomcat startup.shshutdown.sh脚本,然后修改以下 init.d 脚本

#!/bin/bash
#
# tomcat
#
# chkconfig:
# description:  Start up the Tomcat servlet engine.

# Source function library.
. /etc/init.d/functions


RETVAL=$?
CATALINA_HOME="/usr/apps/apache/tomcat/jakarta-tomcat-4.0.4"

case "$1" in
 start)
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
      echo $"Starting Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/startup.sh
        fi
  ;;
 stop)
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
      echo $"Stopping Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/shutdown.sh
        fi
  ;;
 *)
  echo $"Usage: $0 {start|stop}"
  exit 1
  ;;
esac

上面的脚本缺少许多使其完全符合 Linux Standard Base 的东西。您可能想要从您的发行版中复制现有的 init.d 脚本。可以在这里找到更好的脚本:http: //blog.valotas.com/2011/05/tomcat-initd-script.html

于 2009-11-16T06:42:44.720 回答
5

我通常只从 /etc/init.d 中获取一个较小的初始化脚本并对其进行修改。

编辑

简单的做法就是将您的程序添加到 /etc/rc.local 文件中。这将是最后执行的启动脚本。你不必搞乱“开始”和“停止”的东西。

但是,如果您对能够随意启动和停止程序感兴趣,则需要编写一个脚本。

这里的其他一些答案将帮助您入门。

于 2009-11-16T06:43:39.393 回答
4

许多发行版都带有一个框架脚本,您可以将其用作您自己的 init 脚本的模板,在/etc/init.d/skeleton/etc/init.d/skel.

于 2009-11-16T09:24:19.530 回答
3

我见过的一些最好的 Java 应用程序倾向于为此使用tanuki 包装器

它标准化了跨不同操作系统的启动脚本,即可用于配置 *nix 守护程序或 Windows 服务。

它提供了一个标准的命令行界面,用于停止、启动、重新启动和检查状态 - 运行与否。

我很高兴看到它被越来越多地使用,因为我不必再次学习它,学习一次并一次又一次地重复使用它。

通过使用此服务库,您的应用程序可以从未来的增强中受益。

于 2009-11-16T21:17:41.813 回答