1.安装jsvc
在tomcat的bin目录下有一个jsvc.tar.gz的文件,进入tomcat的bin目录下
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure --with-java=/usr/local/java (改成你的JDK的位置)
#make
2.编写服务启动类
package com.sohu.jsvc.test;
public class TestJsvc {
public static void main(String args[]) {
System.out.println("execute main method!");
}
public void init() throws Exception {
System.out.println("execute init method!");
}
public void init(String[] args) throws Exception{
System.out.println("execute init(args) method");
}
public void start() throws Exception {
System.out.println("execute start method!");
}
public void stop() throws Exception {
System.out.println("execute stop method!");
}
public void destroy() throws Exception{
System.out.println("execute destroy method!");
}
}
main方法可以去掉,但是init(String[] args),start(),stop(),destroy()方法不能少,服务在启动时会先调用init(String[] args)方法
然后调用start()方法,在服务停止是会首先调用stop()方法,然后调用destroy() 方法.
3.把这个类打包成testjsvc.jar 放到/test目录下
4.编写启动服务的脚本 myjsvc
#!/bin/sh
# myjsvc This shell script takes care of starting and stopping
#
# chkconfig: - 60 50
# description: tlstat stat is a stat data daemon.
# processname: myjsvc
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog="MYJSVC"
# jdk的安装目录
JAVA_HOME=/usr/java/jdk1.5.0_15
#应用程序的目录
MYJSVC_HOME=/test
#jsvc所在的目录
DAEMON_HOME=/usr/local/tomcat5/bin/jsvc-src
#用户
MYJSVC_USER=root
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/tlstat.pid
#程序运行是所需的jar包,commons-daemon.jar是不能少的
CLASSPATH=\
/test/testjsvc.jar:\
/usr/local/tomcat5/bin/commons-daemon.jar:\
case "$1" in
start)
#
# Start TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-user $MYJSVC_USER \
-home $JAVA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
#控制台的输出会写到tlstat.out文件里
-outfile $MYJSVC_HOME/log/myjsvc.out \
-errfile '&1' \
-cp $CLASSPATH \
#服务启动类
com.sohu.jsvc.test.TestJsvc
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-stop \
-pidfile $PID_FILE \
com.sohu.jsvc.test.TestJsvc
exit $?
;;
*)
echo "Usage myjsvc start/stop"
exit 1;;
esac
5. 把myjsvc文件拷贝到/etc/init.d/目录下
6. #chmod -c 777 /etc/init.d/myjsvc
7. 添加服务
#chkconfig --add myjsvc
#chkconfig --level 345 myjsvc on
8. 完成,启动服务
#service myjsvc start
你可以从/test/log/myjsvc.out文件里看到如下信息:
execute init(args) method
execute start method
#service myjsvc stop
你会发现/test/log/myjsvc.out文件里会增加如下信息
execute stop method
execute destroy method
并且在系统重启时会自动启动myjsvc服务
好了,一个简单的 liunx服务就写好了,你可以在TestJsvc的init(),start(),stop(),destroy()方法里添加你的业务,做你想做的事。
分享到:
相关推荐
综上所述,用jsvc发布Linux服务涉及到Java应用程序的部署、系统服务的配置、脚本编写、权限管理等多个方面,需要对Linux系统、Java环境以及系统服务管理有深入的理解。通过正确使用jsvc,可以确保Java应用程序在...
虽然Tomcat本身是一个Java程序,但为了使其能在Linux系统中作为后台服务运行,我们需要jsvc这样的工具。 jsvc提供了以下关键功能: 1. **启动服务**:你可以使用jsvc来启动Tomcat作为系统服务,这样即使在系统重启...
总之,`jsvc`是Linux环境下将Tomcat作为服务运行的重要工具,它使得Java应用程序的管理更加规范和便捷。了解和掌握如何使用`jsvc`对于系统管理员来说是至关重要的,特别是对于那些需要稳定运行Java应用的大型系统。
`jsvc`是Java服务接口的实现,它允许Java应用程序作为Windows服务运行,具备开机启动、后台运行、自动重启等特性。 1. 安装Apache Commons Daemon 首先,你需要下载Apache Commons Daemon的Windows版本,如`...
Java应用程序可以通过Java Service Wrapper(JSW)或者Apache Commons Daemon(Jsvc)等工具转化为Windows服务。 1. **Java Service Wrapper (JSW)**:JSW 是一个开源工具,允许Java应用程序作为操作系统服务运行。...
在Linux环境下配置JDK和Tomcat是服务器管理中常见的任务,尤其对于运行Java应用程序和Web服务至关重要。这里我们将详细介绍如何在CentOS 5.3操作系统上进行这些步骤,并附带了如何设置Tomcat自动启动的方法,使用...
在Linux中,通常使用init脚本或者Systemd服务来管理应用程序的启动和停止。然而,这些方法可能不适用于所有类型的Java应用,因为它们可能有特定的依赖或配置需求。此时,Wrapper工具能提供一个标准化的接口,简化...
jsvc启动tomcat原理详细说明,更安全的启动tomcat的方式。
在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...
首先,jsvc是一个非常有用的工具,它能够帮助开发者将Java应用封装成可以由系统服务管理的守护进程,比如它可以集成到init.d或systemd中。使用jsvc的另一个好处是,它可以允许我们指定运行Tomcat的用户和用户组,...
它提供了`jsvc`工具,允许用户将Java应用程序集成到这些系统的启动、管理和监控流程中,类似于Windows系统中的服务。本篇文章将详细介绍`commons-daemon`及其组件`jsvc`,以及如何使用它们。 首先,我们来看`...
其中,`jsvc`是Apache Commons Daemon项目的一部分,它是一个用于执行Java应用程序的命令行工具,可将Java应用转换为系统服务。 标题中的"commons-daemon-1.2.0-bin.tar.gz"是一个压缩包,包含了Apache Commons ...
在Linux系统中,安装和配置Java Development Kit (JDK) 和Apache Tomcat服务器是进行Web应用开发的基础步骤。本文将详细介绍如何在Linux环境下安装JDK、Tomcat,并将其配置为系统服务。 首先,我们需要下载JDK和...
在Java开发中,将一个`jar`包做成服务是一项常见的任务,这通常涉及到将Java应用程序打包成可执行的`jar`文件,并通过特定的方式运行它作为后台服务,以实现持续运行和管理。以下是对这个主题的详细解释: 一、什么...
3. **prunsrv**: Unix/Linux系统的命令行工具,类似于Windows的"jsvc",用于创建和管理Java服务。 4. **文档**: 可能包含用户指南、API文档和README文件,提供了关于如何配置和使用这些工具的详细信息。 5. **库文件...
在Linux环境中,为了安全考虑,一般不建议使用root用户来运行像Tomcat这样的服务。因为一旦Tomcat以root权限运行,任何能够通过Tomcat服务器执行的代码都将拥有root权限,这极大地增加了系统被攻击的风险。本文将...
Apache Commons Daemon是一个开源项目,它是Java应用程序在操作系统后台(如Windows、Linux或Unix)作为守护进程(daemon)运行的关键工具。这个压缩包"commons-daemon-1.2.2-bin.zip"包含了运行Java应用程序作为...
该应用程序的目的是作为在Unix / linux系统上如何将Java应用程序设置为守护程序的模板/示例,以及如何使用jsvc的示例。 可以将java_daemon_init脚本复制到/etc/init.d/(并重命名为适当的名称),然后以常规的{...
它提供了jsvc,一个可执行程序,可以将Java虚拟机(JVM)包装为系统服务,这样就可以通过系统服务管理工具来启动、停止和监控Java应用程序。在Windows上,这意味着Java应用可以像其他系统服务一样被管理和操作,如...
这个项目的重点在于“daemon”,在Unix和类Unix系统中,daemon是指在后台运行的服务程序,通常在系统启动时启动,并持续运行直到系统关闭。在Windows系统中,对应的术语是“服务”。 `commons-daemon-native.tar.gz...