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控制。

【编辑推荐】

【责任编辑:冯宇 TEL:(010)68476606】

点赞 0

linux 跑java程序_Linux下独立执行Java程序相关推荐

  1. linux批量杀进程_Linux下批量杀JAVA进程

    在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们 ...

  2. linux 监控java内存_Linux下实用的JAVA内存泄露监控命令及工具

    一.Linux 命令 1.jstack (linux下特有) 可以观察到jvm中当前所有线程的运行情况和线程当前状态 jstack 2083 输出内容如下: 2.jmap (linux下特有,也是很常 ...

  3. 通过Java程序将“/你的名字拼音缩写/input1/shixun1.txt”文件上传到HDFS的“/你的名字拼音缩写/java/input1/”目录下;通过Java程序将HDFS上的“/你的名字拼音

    题目: 通过Java程序将"/你的名字拼音缩写/input1/shixun1.txt"文件上传到HDFS的"/你的名字拼音缩写/java/input1/"目录下 ...

  4. dos命令为java程序赋值_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是() (5.0分)_学小易找答案...

    [判断题]run方法是运行线程的主体,若run方法运行结束,线程就消亡了 [单选题]在Java 程序中,下面哪个是不合法的标识符() (5.0分) [其它]请提交实验二压缩包 [单选题]在DOS命令行 ...

  5. java dos编译命令是什么_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是()...

    [单选题]下列行为中,属于绝对商行为的是 [填空题]汽车故障的变化规律可分为3个阶段,早期故障期. 和 . [填空题]无分电器点火线圈与一般点火线圈不同,其 与 没有连接,为互感作用. [简答题]练习 ...

  6. java tar 安装程序_linux下jdk的安装(tar包)

    1.查看jdk安装路径 [root@localhost ~]# whereis java java: /usr/bin/java /etc/java /usr/lib/java /usr/share/ ...

  7. c语言代码 linux 关机_linux下c语言关机程序

    linux下c语言关机程序 /* Offtimer.c.For auto halt. */ #include #include #include #define DELAY 60/* Time of ...

  8. linux 休眠定时唤醒_Linux 下定时唤醒计算机

    本意是把笔记本当闹钟用,在windows下也很容易实现, linux 下试过,效果不是特别好,不过还是总结一下. 基本命令是 rtcwake ,该命令需要根权限,所以最好是安装sudo. 因为一直用u ...

  9. linux安装python3教程_linux下安装python3和对应的pip环境教程详解

    1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...

最新文章

  1. qfdw.xyz sq.php,GitHub - STORMSQ/sqphp: 練習用框架,使用PHP搭建
  2. 手机qq2008触屏版_比微信老却是00后最爱 手机QQ 16年进化史
  3. 微软MSRA成立理论中心,陈卫负责马志明等四院士加盟
  4. java怎么缓存行填充_为什么java的Exchanger.Slot缓存行填充像这样?
  5. 借力阿里云数据中台,日播集团“数”识消费者
  6. Linux 的进程状态
  7. bzoj4033 [HAOI2015]树上染色
  8. 外卖小哥到底是一群什么样的人?答案超乎你想象
  9. Oracle的CLOB大数据字段类型(转)
  10. 孤岛惊魂4服务器稳定吗,《孤岛惊魂5》究竟好不好玩 让我来告诉你(缺点)
  11. Java集合类源码详解
  12. Mesh Baker的基本操作与功能演示
  13. 手机拍照实用技巧,实用的拍照方法和功能
  14. 小程序源码:聊天斗图微信表情包
  15. s开头wifi测试软件,应对5G WiFi 新一代无线测试的挑战
  16. 智能型炉温测试仪kic x5软件,KIC X5 炉温测试仪产品说明ppt课件
  17. php使用addons,GitHub - yuninf/tp5-addons: ThinkPHP addons autoload
  18. Org-mode + GitHub 搭建自己的云笔记
  19. access control延迟锁门_RFID ACCESS CONTROL门禁感应器的密码的修改方法
  20. 帝国cms内容页php获取当前栏目名,帝国CMS获取当前页面顶级栏目名称和连接的方法...

热门文章

  1. mycat重启报错Failed to connect to the Wrapper at port解决方法
  2. git push错误解决方案
  3. Delphi中的异常处理
  4. Intellij IDEA 通过数据库表逆向生成带注释的实体类文件超级详细步骤,附详细解决方案
  5. dubbo 解决既是消费者又是提供者 Duplicate application configs 的问题
  6. 如何使用代码确定设备屏幕大小类别(小,普通,大,xlarge)?
  7. 在package.json中使用git URL依赖分支或标记?
  8. 如何在Android Studio中获取SHA-1指纹证书以获得调试模式?
  9. node.js删除文件
  10. java后台与ISO端app对接