Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写初始化脚本_Java_Linux_Fedora - Fatal编程技术网

Java 如何编写初始化脚本

Java 如何编写初始化脚本,java,linux,fedora,Java,Linux,Fedora,嗨,我正在使用64位Fedora 10 linux。我创建了一个示例java应用程序。现在我想为该应用程序编写init脚本。这样我的应用程序应该在启动时启动 如何编写启动时启动的初始化脚本 谢谢 Sunil Kumar Sahoo这里有一个很好的指南: http://www.novell.com/coolsolutions/feature/15380.html 我建议查看tomcatstartup.sh和shutdown.sh脚本,然后修改: 上面的脚本缺少很多东西,使其完全符合Linux标准

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

如何编写启动时启动的初始化脚本

谢谢
Sunil Kumar Sahoo

这里有一个很好的指南:

http://www.novell.com/coolsolutions/feature/15380.html
我建议查看tomcatstartup.shshutdown.sh脚本,然后修改:


上面的脚本缺少很多东西,使其完全符合Linux标准基础。您可能希望从发行版复制现有的init.d脚本。在这里可以找到一个稍微好一点的脚本:

我通常只是从/etc/init.d中选取一个较小的init脚本并对其进行修改

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

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


这里的一些其他答案将让您开始学习。

许多发行版都附带了一个框架脚本,您可以在
/etc/init.d/skeleton
/etc/init.d/skel
中使用它作为自己的init脚本的模板。我见过的一些最好的java应用程序倾向于使用这个脚本

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

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

我很感激看到它被越来越多地使用,因为我不必再学习它,一次又一次地学习和重用它


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

嗨,Barry,您能告诉我将使用和修改哪个脚本文件吗。我不知道哪一个更小。公平地说,从rc.local运行东西不仅仅是一个有点黑客行为,而且对于任何超出您本地“立即让它工作”需要的东西来说都是非常糟糕的形式。如果你想把它分发到任何地方(包括测试或生产环境),你真的应该有一个init脚本。但是OP没有说明他的应用程序是供他自己使用的还是他将要发布的。这些应用程序通常只适用于分叉的应用程序。Java通常不使用fork,这是一个很好的开始(双关语),但它既缺少LSB头,更重要的是缺少一个工作状态选项。
#!/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