26. linix脚本启动java程序
(1)linux脚本文件:
1 #!/bin/bash 2 3 export JAVA_HOME=/opt/jdk1.6.0_21 4 export PATH=$JAVA_HOME/bin:$PATH 5 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 6 baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd) 7 LIB_CP=:""$baseDirForScriptSelf""/WEB-INF/classes 8 flist=$baseDirForScriptSelf""/WEB-INF/lib/*.jar; 9 for i in $flist; 10 do 11 LIB_CP=$LIB_CP":"$i; 12 done 13 export LIB_CP 14 15 CP=${CLASSPATH}${LIB_CP} 16 17 java -cp ${CP} -Xms1024m -Xmx1024m com.jd.sns.dt.main.DtMain
DtMain当中只要有main函数就行
(2)定时执行
如果程序需要定时启动,可以利用linux本身的定时脚本来做。在命令端输入crontab -e,加入定时调用,每5分钟执行一次。本情况只适用于实时性不高的情景,如果实时性要求高,需要使用线程轮询。
*/5 * * * * /opt/consumegradesql/run_add.sh
如果需要定时执行,要考虑是否加入防止重复执行的相关代码,可以采用绑定端口的方法,例:
在程序代码开始时调用:SocketUtil.bindPort();
1 package com.jd.sns.dc.common; 2 3 import java.io.IOException; 4 import java.net.ServerSocket; 5 6 import org.slf4j.Logger; 7 import org.slf4j.LoggerFactory; 8 9 public class SocketUtil { 10 11 protected final static Logger log = LoggerFactory.getLogger(SocketUtil.class); 12 private static ServerSocket serverSocket; 13 14 public static void bindPort() { 15 log.info("port:" + DcConst.port); 16 try { 17 // 绑定端口,若绑定失败则退出程序 18 SocketUtil.serverSocket = new ServerSocket(DcConst.port); 19 } catch (Exception e) { 20 log.error("Bind port:" + DcConst.port + " error!", e); 21 System.exit(1); 22 } 23 } 24 25 public static void closeSocket() { 26 try { 27 SocketUtil.serverSocket.close(); 28 } catch (IOException e) { 29 log.error("close socket error", e); 30 } 31 } 32 33 }
附:linux端口号
1--1023 系统保留,只能由root用户使用
1024---4999 由客户端程序自由分配
5000---65535 由服务器端程序自由分配
注:本示例来源于datacheck-final
转载于:https://www.cnblogs.com/guanpanpan/p/3414548.html
26. linix脚本启动java程序相关推荐
- shell 启动java程序_Shell 脚本启动java程序
最近,做好了一段儿程序,但是在ubuntu系统下需要用命令行输入命令启动.于是研究了一下Shell脚本启动的方法. 刚开始接触Shell脚本,一头雾水.不过最终还是实现了,和大家分享一下: 不过需要注 ...
- aix shell脚本 运行java_IBM AIX shell脚本启动java程序不成功
今天写了个很简单的java程序启动脚本,放在/usr/jspider/下面,直接cd到/usr/jspider下面可以正常运行.而通过chkconfig注册为服务后,servicemyserverst ...
- 利用脚本启动java程序
今天在工作中,需要写一个shell脚本,启动一个socket程序,从而模拟短信网关.查了一些资料,终于搞定了,现在记录一下,方便大家查阅. 为了说明使用方法,我们就用最简单的程序来实现,比如我们要运行 ...
- 使用脚本启动java程序
1.编写shell脚本 # 服务名称 NAME='server' # 指定配置文件 ARGS='-Dspring.profiles.active=zzd'echo $NAME PID=`ps -ef ...
- linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本
#!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...
- java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本
每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...
- wrapper后台启动java程序
文章目录 1,下载wrapper 2,使用wrapper后台启动java程序 2.1,编写java样例程序 2.2,配置wrapper 2.3,拷贝启动脚本 2.4,启动服务 1,下载wrapper ...
- shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03
文章目录 1. 脚本升级 2. 执行测试 3. 脚本关键词简述 补充案例 上一篇: shell脚本触发java程序支持传参补跑 +crontab定时器_02 https://gblfy.blog.cs ...
- shell脚本触发java程序支持传参补跑 +crontab定时器_02
文章目录 1. 创建定时任务 2. 查看定时任务是否执行 上一篇: shell脚本触发java程序支持传参补跑_01 https://gblfy.blog.csdn.net/article/detai ...
最新文章
- nyoj 791 Color the fence(贪心)
- 什么是顺序一致性呢?
- C++之‘nullptr’ was not declared in this scope
- jvm 堆 比例_JVM调优原则
- python必备神器_Python 必备神器
- 计算机网络四个阶段的发展特点,计算机网络的发展分哪四个阶段,特点?
- 九章基础算法02:栈和队列
- Oracle存在gap,发现gap及解决
- {过时·留存}MS Office文档
- Convert Sorted Array to Binary Search Tree(将有序数组转为二叉搜索树)
- 中国草鱼养殖产业发展现状分析,生态养殖是未来发展趋势「图」
- 计算机网络胡工程施工税率,弱电项目增值税6%、9%、13%税率怎样区分?项目经理必知内容...
- yocto 编译与bb的语法
- 2.4gwifi最高下载速度_2.4g网速(2.4gwifi最高下载速度)
- 数据分析SQL【离职率】和【司龄】的计算
- 有密码Win10创建新用户
- 文献笔记:Contrast-Phys: Unsupervised Video-based Remote Physiological Measurement viaSpatiotemporal Con
- UESTC-1059 秋实大哥与小朋友(离散化+线段树)
- linux systemctl命令详解
- 利用range表单元素实现调色板