shell 指令碼啟動jar程式
Linux下啟動jar包程式,直接上步驟:
1、首先,maven專案打成一個jar包,同時使用dependency:copy-dependencies命令匯出依賴的jar包,把匯出的包和專案jar包都放進lib資料夾裡
2、編寫shell指令碼:
#!/bin/bash export JAVA_HOME=/home/program/java/jdk1.8.0_60 ###jdk安裝路徑 java=$JAVA_HOME/bin/java JAVA_OPTS=$JAVA_OPTS:"-Xms1024m -Xmx1024m" export JAVA_OPTS SERVER_HOME=/opt/nutch ###放置lib資料夾和shell的目錄 LIBDIR=$SERVER_HOME/lib CONFDIR=$SERVER_HOME/conf ###可去掉,放置配置檔案 export CONFDIR export LIBDIR CLASSPATH=${CLASSPATH}:${LIBDIR} CLASSPATH=${CLASSPATH}:${CONFDIR}:${LIBDIR} for cdir in ${LIBDIR}/*.jar do CLASSPATH=$CLASSPATH:$cdir export CLASSPATH done export CLASSPATH exec $java com.yaochufa.jframework.nutch.AppStarter $* >logs/stdout.log 2>&1 & ###指定啟動的程式類 #tail -f /home/yang/program/file/stock_task/logs/stdout.log
可在啟動的程式類main方法中加入以下程式碼:
CountDownLatch latch =new CountDownLatch(1);
latch.await();
3、linux進入目錄,賦予shell指令碼可執行的許可權,執行shell
這時會出現一個錯誤:-bash: ./nutch.sh: /bin/bash^M: bad interpreter: No such file or directory
主要原因是nutch.sh是我在windows下編輯然後上傳到linux系統裡執行的。.sh檔案的格式為dos格式。而linux只能執行格式為unix格式的指令碼。
我們可以通過vi編輯器來檢視檔案的format格式。步驟如下:
1.首先用vi命令開啟檔案
Shell程式碼- [[email protected] test]# vi nutch.sh
2.在vi命令模式中使用 :set ff 命令
可以看到改檔案的格式為dos
3.修改檔案format為unix
方法一:使用vi修改檔案format
命令:set ff=unix
執行完後再通過set ff命令檢視檔案格式,結果如下:
方法二:直接使用dos2unix命令修改
Shell程式碼- [[email protected] test]# dos2unix nutch.sh
-
dos2unix: converting file test.sh to UNIX format ...
修改完後再次執行./test.sh,執行正確:
Shell程式碼- [[email protected] test]# ./nutch.sh
- test shell
參考資料:
相關推薦
shell 指令碼啟動jar程式
Linux下啟動jar包程式,直接上步驟: 1、首先,maven專案打成一個jar包,同時使用dependency:copy-dependencies命令匯出依賴的jar包,把匯出的包和專案jar包都放進lib資料夾裡 2、編寫shell指令碼: #!/bin/bash
Linux shell指令碼啟動 停止 重啟jar包
最近做的微服務jar包想弄在持續整合中自動化部署,所以首先得有一個操作jar包的指令碼 只需將jar檔案的路徑替換到APP_NAME的值就可以了,其他不用改 注意:window編輯的shell檔案,通過WinSCP上傳的Linux伺服器,需要改變檔案的格式(檢視檔案格式,vim編
linux--shell指令碼啟動和停止jar包
完整指令碼啟動和停止jar包 #! /bin/sh PORT=8086 HOME='/usr/local/beta' LOG_HOME='/usr/local/beta/build' LOG_FILE='act-service.log' JAR_HOME=act-1.0.
Linux shell指令碼啟動 停止 重啟服務(jar)
注意:window編輯的shell檔案,通過WinSCP上傳的Linux伺服器,需要改變檔案的格式(檢視檔案格式,vim編輯後輸入 :set ff) #!/bin/bash export JAVA_
【java】Linux使用nohup命令啟動sh shell 指令碼,java程式無限迴圈啟動問題。解決方案
一·背景 專案使用spring boot 搭建。在Linux作業系統使用nohup命令啟動sh shell 指令碼,程式無限迴圈啟動,只要是 讓程式在後臺啟動 都會無限迴圈啟動(程式本來應該啟動完畢的,但是從日誌上看程式又再次啟動了一遍,無限迴圈,而且程式也無法正常訪問)
寫一個shell指令碼啟動伺服器
使用shell指令碼寫一個一鍵啟動伺服器 ####由於我們伺服器使用的docker, nginx和 redis 還有mysql都是docker啟動好的 我們專案使用supervisor程序管理工具,需要提前配置,但是不知道什麼原因,以前的環境配置出了問題,supervisor不
idea自動部署springboot jar包到遠端伺服器並通過指令碼啟動jar
1.連線遠端伺服器:Tools->Deployment->Configuration 2.1配置好之後開啟遠端服務就可以直接在idea中進行拖拽檢視 2.2.也可以通過專案右擊deployment上傳jar到伺服器,此時jar會上傳到第一步圖三中配置的
shell指令碼啟動spring boot專案
Spring Boot專案啟動 我們知道打包好的Spring Boot專案這樣啟動 java -jar -Dfile.encoding=utf-8 test-0.0.1-SNAPSHOT.jar 在linux中,常常使用nohup後臺啟動其他程式,
寫一個shell指令碼啟動伺服器 -----python
使用shell指令碼寫一個一鍵啟動伺服器 由於我們伺服器使用的docker, nginx和 redis 還有mysql都是docker啟動好的 我們專案使用supervisor程序管理工具,需要提前配置,但是不知道什麼原因,以前的環境配置出了問題,sup
sh指令碼啟動java程式
#!/bin/sh #專案部署路徑 WEB_HOME=/data/project/PROJECT-ONE #jdk路徑 JAVA_HOME=/data/java/jdk1.7.0_80 #ProjrctOneClient 為main入口的類名稱 PID=`$JAVA_
用shell指令碼執行Java程式
#!/bin/sh export APP_HOME=/home/lyh/eclipse_workspace/JenaReadSubstance export APP_SRC=$APP_HOME/src/jena/examples/rdf export APP_CLASSPATH=$APP_HOME/bin/j
jenkins自動部署中執行shell指令碼啟動tomcat,但是tomcat不啟動的問題
Jenkins會在構建完成後使用processTreeKiller殺掉了所有子程序,而且這是Jenkins的預設行為。其實回頭來看這個問題,就發現Jenkins的做法非常合理。當一次build異常結束,或被人終止時,必然需要結束所有這次build啟動的子程序。下面的link提供了更多細節,以及解決方法。htt
shell指令碼編寫小程式
求1-100的加法,並輸出1+2+3+4+5+6+7+…+100? #!/bin/bash sum=1 str='1' i=2 for (( i; i<=100; i++)) do
linux shell 指令碼啟動Java總結
linux shell 使用總結 Linux shell對於我們去傻瓜式的去操作一系列的命令非常的方便,比如啟動java程式,啟動tomact也是通過操作shell來處理的。比如下面操作啟動Tomact 由於使用者不懂配置處理JDK這些都是需要我們來處理的哦
伺服器VPN配置教程(2)——介面配置法+shell指令碼啟動
【內容摘要】 做資料採集經常需要爬取境外網站的內容,除了在採集程式碼中新增代理模組外,這裡介紹一種伺服器全域性代理的方法,只要購買的VPN服務支援pptp方式或L2TP方式,就可以使用本文的教程對伺服器進行全域性翻牆。 【正文】 在上一篇文章http:
linux 啟動或停止jar shell指令碼
shell指令碼 # jar啟動shell命令 #startup.sh java -jar project.jar & # 注意:必須有&讓其後臺執行,否則
shell指令碼判斷某個linux程式是否在正常執行,如果不是就啟動他
#! /bin/bash # author qzlink # time 2014-9-19 # program : check program running .. function check(){ count=`ps -ef |grep $1 |grep
linux 編寫啟動 停止jar 的 shell指令碼
首先用 java -version 檢視一下是否安裝好了JDK,如果沒有需要先安裝JDK 點選此處進入 linux裝JDK的步驟 指令碼存放目錄結構 注:指令碼存放在bin檔案下,jar存放在li
後臺啟動和關閉jar的shell指令碼
1.後臺啟動 startTest.sh#設定工程路徑 project_path=/root/test cd $project_path #nohup後臺啟動,輸出日誌到test.log nohup java -jar test.jar >test.log & #
linux--shell指令碼批量啟動和停止jar包
指令碼程式碼all.sh #! /bin/sh # 埠號 PORTS=(8084 8083 8085 8086) # 系統模組 MODULES=(mcht system user act) # 系統模組名稱 MODULE_NAMES=(商戶模組 系統模組 使用者模組 活動