Java程序作linux服务并且开机自动启动[转]
以有个java应用名称为test,打包为test.jar,程序入口为cn.com.ppnote.SocketServer。
下面在linux的/opt下建立testapp目录,复制test.jar到/opt/testapp/lib目录下。
1、下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解压。
http://wrapper.tanukisoftware.org/
复制src\bin\sh.script.in到/opt/testapp/bin目录,重命名为SocketServer
复制wrapper\bin目录下的wrapper文件到/opt/testapp/bin目录
复制src\conf\wrapper.conf.in到/opt/testapp/conf目录,重命名为wrapper.conf
复制src\lib\lib目录下3个文件到/opt/testapp/lib目录
wrapper.so
wrapper.jar
2、修改/opt/testapp/bin/SocketServer文件
APP_NAME="SocketServer"
APP_LONG_NAME="SocketServer Application Server"
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
赋予执行权限
chmod 775 /opt/testapp/bin/SocketServer
chmod 775 /opt/testapp/bin/wrapper
3、修改/opt/testapp/conf/wrapper.conf文件
wrapper.java.command=/opt/jdk1.6.0_02/bin/java
使用WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
#这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/test.jar
wrapper.java.classpath.3=/opt/jdk1.6.0_02/lib/dt.jar
wrapper.java.classpath.4=/opt/jdk1.6.0_02/lib/tools.jar
wrapper.java.library.path.1=../lib
#这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类
wrapper.app.parameter.1=cn.com.ppnote.SocketServer
wrapper.app.parameter.2=1
wrapper.app.parameter.3=true
wrapper.app.parameter.4=cn.com.ppnote.SocketServer
wrapper.app.parameter.5=true
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop
上面的配置里使用了WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
4、让SocketServer开机自动运行
ln -s /opt/testapp/bin/SocketServer /etc/init.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc0.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc1.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc2.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc3.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc4.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc5.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc6.d/SocketServer
5、测试 执行命令:service SocketServer start|stop|restart|status
程序运行时,Java Service Wrapper在/opt/testapp/bin/目录下产生wrapper.log日志,
STATUS | wrapper | 2007/08/01 17:17:01 | --> Wrapper Started as Daemon
STATUS | wrapper | 2007/08/01 17:17:01 | Launching a JVM...
INFO | jvm 1 | 2007/08/01 17:17:09 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2007/08/01 17:17:09 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2007/08/01 17:17:09 |
INFO | jvm 1 | 2007/08/01 17:17:10 | 程序开始运行...
INFO | jvm 1 | 2007/08/01 17:17:26 | Connection: Open
......
附目录结构
/opt/testapp/bin
| SocketServer
| wrapper
| wrapper.log(程序运行时自动产生)
/opt/testapp/conf
| wrapper.conf
/opt/testapp/lib
| libwrapper.so
| wrapper.jar
| test.jar
Java程序作linux服务并且开机自动启动[转]的更多相关文章
- 树莓派上Java程序作为linux服务并开机自动启动
http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_d ...
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest. 下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/ ...
- Linux下Tomcat开机自动启动
linux下tomcat开机自动启动有两种方法,一种是简单,一种是复杂而又专业的,使用shell脚本要实现,我们一般推荐shell脚本启动方式.下面我们分别介绍这两种方法. 1.shell脚本启动 众 ...
- paip.注册java程序为LINUX系统服务的总结。
paip.注册java程序为LINUX系统服务的总结. ////////////////实现开机启动. 标准方法是按照/etc/init.d/下面的文件,修改一下:然后chkconfig xxx on ...
- 如何注册java程序为windows服务
如何注册java 程序为windows 服务 最近想找个软件来控制电脑的关机时间,在网上找了几个,都是可视化界面的可以设置具体的关机时间的软件.由于我想编写的关机程序是运行在别人机器上,只能让该机器在 ...
- C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)
#region//开机自动运行 private void CB_Auto_CheckedChanged(object sender, EventArgs e) {//CB_ ...
- Java Service Wrapper将java程序设置为服务
有时候我们希望我们java写的程序作为服务注册到系统中,Java Service Wrapper(下面简称wrapper)是目前较为流行的将Java程序部署成Windows服务的解决方案, 本文将讨论 ...
- Java Service Wrapper 发布Java程序为Windows服务
下载Windows版本:https://www.krenger.ch/blog/java-service-wrapper-3-5-37-for-windows-x64/ 转自:F:\java\bhGe ...
- 把java程序作为windows服务运行
参考: https://www.jianshu.com/p/fc9e4ea61e13 https://blog.csdn.net/qq_28566071/article/details/8088250 ...
随机推荐
- Mongodb安全认证及Java调用
Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...
- Objective-C:在类中设置不同协议
在下面的代码中,设置了两种不同的协议规则:一种是老师对学生设置的协议:即老师发出命令后,学生站起来.回答问题.坐下; 另一种是我对学生设置的协议:即学生按照我的协议中的初始化函数去初始化一个整数. / ...
- Android系统file_contexts二进制与文本转换工具
#ifdef _WIN32 #define __USE_MINGW_ANSI_STDIO 1 #endif #include <stdio.h> #include <stdlib.h ...
- Informatica 常用组件Lookup之二 已连接和未连接的查找
可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :L ...
- Dropwizard框架入门
最近项目用到了Dropwizard框架,个人感觉还不错,那么这里就从他们官网入手,然后加上自己的实现步骤让大家初步了解这个框架. 官网对DW(Dropwizard)的定义是跨越了一个库和框架之间的界限 ...
- 开学了!这些Linux认证你要知道
大家好,今天我们将认识一些非常有价值的全球认可的Linux认证.Linux认证是不同的Linux专业机构在全球范围内进行的认证程序.Linux认证可以让Linux专业人才可以在服务器领域或相关公司等等 ...
- [Algorithm] Print All Subsets of a Set
Let's say given a number of array, you should print out, all the subet of this array. Example: [1, 2 ...
- windows系统上安装Redis,并且设置Redis密码
一.Windows版本的Redis下载 下载地址:https://github.com/MSOpenTech/redis/releases 我下载的是最新版的3.2 二.安装Redis 我下载的是安装 ...
- Silverlight 之 浅析
一.silverlight定义及作用 silverlight用XAML来做前端界面,用.NET或者JS作为程序脚本支持,在浏览器内外运行的应用.可以认为和FLASH 和ADOBE AIR有很大的功能重 ...
- Java从零开始学三十七(JAVA IO- 二进制文件读写)
一.简述 二.使用步骤 DataInputStream: 引入相关的类 构造数据输入流的对象(如:FileInputStream,BufferedWriter包装后读取文件等) 读取二进制文件的数据 ...