歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 下獨立執行Java程序

Linux 下獨立執行Java程序

日期:2017/2/28 16:17:28   编辑:Linux教程

很多時候因為種種原因,需要把 java 程序單獨執行,而不是在web容器環境下執行,這時候很多容器資源是無法直接取到的

比如數據庫連接池配置的數據源等等,還有就是程序運行需要的第三方jar包。

這種情況下需要設置環境變量,比如java路徑,classpath環境變量等等,對於數據源配置還需要特殊處理,比如數據源配置文件

日志配置文件,資源文件加載等問題,舉例說明:

  1. #!/bin/bash
  2. tempClassPath=$CLASSPATH;
  3. flist=/home/smsdp/SohuMbRegist/lib/*.jar;
  4. for i in $flist;
  5. do
  6. mypath=$i;
  7. CLASSPATH=$CLASSPATH:$mypath;
  8. done
  9. CLASSPATH=$CLASSPATH:$tempClassPath;
  10. export CLASSPATH
  11. export JAVA_HOME=/usr/local/java
  12. cd /home/smsdp/SohuMbRegist/classes
  13. 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控制。

Copyright © Linux教程網 All Rights Reserved