Linux下独立执行Java程序

系统 Linux
很多时候因为种种原因,需要把java程序单独执行,在这种情况下就需要设置环境变量,比如java路径、classpath环境变量等等,本篇文章就是教大家如何在Linux下独立执行Java程序。

Linux系统里,很多时候因为种种原因,需要把java程序单独执行,而不是在web容器环境下执行,这时候很多容器资源是无法直接取到的,比如数据库连接池配置的数据源等等,还有就是程序运行需要的第三方jar包。

这种情况下需要设置环境变量,比如java路径,classpath环境变量等等,对于数据源配置还需要特殊处理,比如数据源配置文件、日志配置文件、资源文件加载等问题,举例说明:

#!/bin/bash
tempClassPath=$CLASSPATH;
flist=/home/smsdp/SohuMbRegist/lib/*.jar;
for i in  $flist;
do
mypath=$i;
CLASSPATH=$CLASSPATH:$mypath;
done
CLASSPATH=$CLASSPATH:$tempClassPath;
export CLASSPATH
export JAVA_HOME=/usr/local/java
cd /home/smsdp/SohuMbRegist/classes
nohup $JAVA_HOME/bin/java com.sohu.zxl.ivr.JobService &  >/dev/null

上面这段代码是个shell脚本文件:

1. 首先,声明两个变量,tempClassPath为当前的环境变量$CLASSPATH,flist 为一个目录文件数组(可以认为是一个数组);

2. 接下来拼接jar路径,并赋值给当前$CLASSPATH环境变量;

3. 设置环境变量;

4. 进入class目录;

5. 执行程序,并输出到 nohup.out 虚拟文件内。

独立java程序执行完后,线程自动销毁,可以通过命令:ps -ef|grep JobService 查找,程序执行时可以找到线程ID,待执行后再查找则找不到该线程。

可以通过定时job ,crontab 来设置程序执行时间,频率..........当然也可以在java程序里面控制执行时间频率,但是通过crontab控制更加灵活,对于执行时间经常变化的,建议通过crontab控制。

【编辑推荐】

  1. 五款优秀的Linux磁盘加密工具
  2. Linux进程与作业的区别及相关命令
  3. Linux下利用ext3grep恢复被删除的文件
  4. Linux十大妙用:充当Windows修复工具
  5. 红帽在Linux桌面系统领域的未来——SPICE
     
责任编辑:冯宇 来源: Linux社区
相关推荐

2009-10-16 09:42:06

2011-07-01 13:31:29

Ubuntu Linux QVFB

2011-04-25 16:35:06

Linux调用

2020-03-30 08:45:31

Linux命令

2014-03-20 10:31:02

Linuxbin

2009-11-18 09:25:02

linux应用程序

2009-03-21 16:32:00

虚拟化VmwareWindows

2009-02-17 23:47:18

Linux应用程序登录

2009-06-08 21:35:02

Java启动程序

2011-01-06 16:29:08

linuxtasklet机制

2015-08-14 16:36:13

程序员赚钱致富

2015-09-11 10:26:38

独立程序员赞美

2015-09-22 10:07:30

程序员赞美

2016-12-08 18:23:54

linuxcmd命令

2010-02-03 14:57:18

Linux shell

2011-10-28 15:50:45

C程序

2009-12-09 11:45:51

SUSELinuxADSL

2009-06-19 13:32:40

Java开启OpenGL

2012-05-24 09:47:26

ibmdw

2012-05-28 16:20:44

Linux
点赞
收藏

51CTO技术栈公众号