`
谷超
  • 浏览: 166303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSVC 编写自己的Linux启动脚本

阅读更多

在linux系统上进行项目开发,经常需要把自己的应用变成linux的服务,当服务器启动的时候就自行启动自己的应用。使用JSVC就能够实现上面的功能。jsvc.tar包会在Tomcat/bin下找到

 

 

1.安装jsvc

 

tomcatbin目录下有一个jsvc.tar.gz的文件,进入tomcatbin目录下

 

#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: test a 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 Serivce

#

$DAEMON_HOME/jsvc \

-user $MYJSVC_USER \

-home $JAVA_HOME \

-Djava.io.tmpdir=$TMP_DIR \

-wait 10 \

-pidfile $PID_FILE \

-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 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服务就写好了,你可以在TestJsvcinit(),start(),stop(),destroy()方法里添加你的业务,做你想做的事。

分享到:
评论

相关推荐

    用jsvc发布linux服务

    综上所述,用jsvc发布Linux服务涉及到Java应用程序的部署、系统服务的配置、脚本编写、权限管理等多个方面,需要对Linux系统、Java环境以及系统服务管理有深入的理解。通过正确使用jsvc,可以确保Java应用程序在...

    tomcat6启动脚本

    6. 将编译好的`jsvc`复制到Tomcat的启动脚本目录,如`/usr/local/tomcat/bin/`。 7. 修改`/etc/init.d/`目录下的启动脚本,比如创建一个名为`tomcat`的文件,将`Tomcat5.sh`的内容复制过去。 8. 为脚本添加执行权限...

    tomcat 下面的jsvc.tar.gz 包下载

    而`jsvc.tar.gz`是一个关键的组件,它允许我们在Linux系统下以服务的方式启动和管理Tomcat。下面将详细阐述`jsvc`及其在Linux环境下的使用。 `jsvc`是Commons Daemon项目的一部分,由Apache软件基金会提供。这个...

    jsvc启动tomcat原理

    jsvc启动tomcat原理详细说明,更安全的启动tomcat的方式。

    jsvc.tar.gz

    jsvc是Apache Commons Daemon项目的一部分,主要用于在Unix类系统(包括Linux)上以系统服务的方式启动、停止或管理Java应用程序,比如Apache Tomcat。这个工具通常与Java Development Kit (JDK)一起使用,因为它是...

    Linux下配置jdk+tomcat【附:设置tomcat自动启动,jsvc方式】.pdf

    一旦jsvc准备就绪,你可以创建一个启动脚本来管理Tomcat服务。这个脚本通常放在`/etc/init.d/`目录下,例如`/etc/init.d/tomcat`。脚本应该包括启动、停止和状态检查的命令。例如,启动命令可能是`/usr/local/apache...

    Linux操作系统下两种自动启动Tomcat的方法

    在Linux操作系统中,确保Tomcat服务器在系统启动时自动运行是非常重要的,这有助于保持应用程序的持续可用性。本文将介绍两种方法来实现这一目标,一种简单,另一种则更为专业。 首先,简单的方法是通过编辑`/etc/...

    tomcat10.sh

    tomcat10自启动脚本\tomcat服务脚本\tomcat启动脚本 tomcat10 jsvc自启动脚本\tomcat jsvc服务脚本\tomcat jsvc启动脚本

    使用 jsvc 启动tomcat的方法(使用普通用户运行)

    我们通过 jsvc 可以很简单的 封装我们自己的 启动脚本,还可以 随意制定 tomcat 运行用户和组,还可以指定 jvm 的运行参数例如内存控制,语言,字符编码。我们还可以指定 tomcat 启动是的 pidfile 总之我们可以更...

    Linux中将Tomcat添加到守护进程

    在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...

    linux下非root用户运行tomcat

    完成编译安装后,我们将生成的`jsvc`文件复制到Tomcat的`bin`目录,以便在启动脚本中使用。接着,我们需要修改Tomcat的启动脚本`daemon.sh`,设置`TOMCAT_USER`为我们的非root用户(这里是`tomcat`),并取消`JAVA_...

    在Linux系统平台上安装Tomcat的总结

    为了更好的网络共享 本人发布的资源一律免费 如有...tomcat自动启动脚本的设置教程(Linux系统jsvc脚本非root) 几种Linux嵌入式开发环境的简单介绍 解决Oracle 9i和Tomcat端口冲突 在Linux系统平台上安装Tomcat的总结

    wrapper 部署linux跟window

    在Linux中,通常使用init脚本或者Systemd服务来管理应用程序的启动和停止。然而,这些方法可能不适用于所有类型的Java应用,因为它们可能有特定的依赖或配置需求。此时,Wrapper工具能提供一个标准化的接口,简化...

    linux安装jdk、tomcat、把tomcat配置成服务

    最后,在`/etc/init.d`目录下创建一个Tomcat的启动脚本,比如`tomcat6`,然后设置权限和启动链接: ```bash [root@localhost ~]# cd /etc/init.d [root@localhost ~]# vi tomcat6 ``` 在这个脚本中,你需要写入...

    linux+tomcat6+jdk1.6+oracle9i安装宝典

    1. **Linux 系统环境准备**:确保已经安装好 Red Hat Linux 9.0,并且系统正常启动。 2. **软件下载**:下载好所需软件包,包括 JDK 1.6、Tomcat 6、Oracle 9i 安装包等。 3. **磁盘空间检查**:确保有足够的磁盘...

    commons-daemon-1.2.0-src.tar.gz

    `jsvc`是Apache Commons Daemon项目的核心工具,它是一个C语言编写的可执行程序,用于启动、停止和管理Java应用程序。`jsvc`支持守护进程模式(daemon mode),这意味着Java应用程序可以在后台无控制台地运行,如同...

    apache-commons-daemon-jsvc-1.0.13-7.el7.x86_64.rpm

    离线安装包,亲测可用

    Linux中使用Shell脚本查看Java线程的CPU使用情况

    线上Java应用,在业务高峰期的时候经常出现CPU跑高,需要查看实时的线程占用cpu情况,下面是一个很好用的脚本,可以快速导出每个线程的占用CPU情况,结合jstack日志,排查到具体的线程类名。 一、首先获得jvm的进程...

    把java项目安装为window服务

    如果需要更复杂的启动逻辑,可以创建一个批处理脚本,包括设置环境变量、启动`jsvc.exe`等步骤,然后将此脚本作为服务的启动程序。 6. 注意事项 - 确保`jsvc.exe`和相关DLL文件在系统路径中可找到,或者与Java...

Global site tag (gtag.js) - Google Analytics