1. 程式人生 > >Linux下如何讓jar程式在後臺執行

Linux下如何讓jar程式在後臺執行

當我們把java程式打成jar包後,放到linux上通過putty或其它終端執行的時候,如果按照:java -jar xxxx.jar執行,當我們退出putty或終端的時候,xxxx.jar這個程式也會停止。為了保證程式能夠一直執行,應該改為這樣執行:nohup java -jar xxx.jar & 命令,則程式會在後臺一直執行,值得注意的是,此時程式控制臺輸出會被轉移到nohup.out檔案中,這個nohup.out檔案的位置就在jar包的當前資料夾內。
但是有時候在這一步會有問題,當把終端關閉後,程序會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。
有個操作終端時的細節:當shell中提示了nohup成功後還需要按終端上鍵盤任意鍵退回到shell輸入命令視窗,然後通過在shell中輸入exit來退出終端;而我是每次在nohup執行成功後直接點關閉程式按鈕關閉終端。所以這時候會斷掉該命令所對應的session,導致nohup對應的程序被通知需要一起shutdown。
這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。

相關推薦

linux利用nohup來後臺執行java程式

 雖然使java main正確執行,但是會佔據你的一個ssh視窗,如果要有多個java main同時執行,那麼你又要另啟動一個ssh視窗來去以類似的方法執行另一個java main,那麼有沒有更好的方法來解決這種需求呢

AIX, Linux將指令碼放到後臺執行——加nohup與不加nohup的區別

對於Linux下來說,當在系統上執行下面的命令,將test.sh指令碼放到後臺執行/location/test.sh &此時,分兩種情況考慮問題,一:繼續執行exit命令退出當前session, 則 test.sh這個指令碼仍然在Linux系統裡面執行,二:不執行e

Linux如何jar程式後臺執行

當我們把java程式打成jar包後,放到linux上通過putty或其它終端執行的時候,如果按照:java -jar xxxx.jar執行,當我們退出putty或終端的時候,xxxx.jar這個程式也會停止。為了保證程式能夠一直執行,應該改為這樣執行:nohup

linux程式後臺執行!!!

    在嘗試讓自己寫的測試程式開機自動啟動過程中,出現多次失敗,最後在/etc/rc.local中加入了自己測試程式路徑/bin/testproc。 接著開機啟動看看程式是否自啟動,結果發現出現串列埠列印停止在某個位置。心想麻煩了把系統配置檔案弄壞了,造成系統加載出現問題

linuxpython程式後臺執行,並將列印資訊儲存檔案

在跑比較時間比較長的程式,或者是列印資訊比較多的程式時,一般都會後臺執行程式,然後把列印資訊儲存在檔案中,等程式執行結束後再檢查輸出日誌。完成該功能可以用如下命令: nuhup python -u test.py > test.log 2>&1 &

Linux screen你的筆記本關機,伺服器程式後臺執行

1.Background 現在的深度學習訓練一般都是使用伺服器,而我們通過SSH連線伺服器跑程式或者其他操作會遇到一些問題,比如訓練程式碼跑太久導致沒辦法關機,因為關掉命令列視窗程式就會停止,或者有時我們需要同時開多個終端,因為一個終端在程式碼執行時沒辦法進行其他操作。

jar程式linux上一直執行

當我們把java程式打成jar包後,放到linux上通過putty或其它終端執行的時候,如果按照:java -jar xxxx.jar執行,當我們退出putty或終端的時候,xxxx.jar這個程式也會停止。為了保證程式能夠一直執行,應該改為這樣執行:nohup java

linux實現在程式執行時的函式替換(熱補丁)

原帖地址: 宣告:以下的程式碼成果,是參考了網上的injso技術,在本文的最後會給出地址,同時非常感謝injso技術原作者的分享。    但是injso文章中的程式碼存在一些問題,所以後面出現的程式碼是經過作者修改和檢測的。也正因為這些錯誤,加深了我的學習深度。 &nb

Linux jar後臺執行

Linux 執行jar包命令如下: 方式一: java -jar shareniu.jar 特點:當前ssh視窗被鎖定,可按CTRL + C打斷程式執行,或直接關閉視窗,程式退出 那如何讓視窗不鎖定? 方式二 java -jar shareniu.jar &

解決:Android App 在執行時候按 home 鍵,App 在後臺執行,點選圖示再次進入時防止應用重新啟動

一:app 退出時,讓 app 在後臺執行,類似於 home 鍵的功能,最小化 重寫 onkeydown 和 onBackPressed 方法,主要是 movetoBack 方法。 注意在 MainA

Linux screen命令——會話分離(使程式後臺執行,不受網路連線限制)

Screen是一款由GNU計劃開發的用於命令列終端切換的自由軟體。使用者可以通過該軟體同時連線多個本地或遠端的命令列會話,並在其間自由切換。GNU Screen可以看作是視窗管理器的命令列介面版本。它提供了統一的管理多個會話的介面和相應的功能。會話恢復只要Screen本身沒有

Linuxqt 禁止程式執行兩個

Linux系統下qt防止同一程式在系統中執行兩個例項,直接上程式碼:    QEventLoop loop;    connect(&process,SIGNAL(readyReadStandardOutput()),&loop,SLOT(quit())); 

linux在如何程序在後臺執行

今天碰到這麼一個問題,使用ssh客戶端登陸了linux伺服器,啟動並執行服務之後如果關閉客戶端與伺服器的連線,這個時候運行於伺服器上的服務也會被關閉,如何讓命令提交之後不受本地關閉終端埠的影響呢? 首先我們要知道為啥客戶端的斷開會影響服務端程式的執行? 當用戶登出或

Eclipse匯出java程式執行jar包圖片無法顯示問題的一種解決方法

說明:在eclipse中執行java程式的時候一切正常,可是當把jar包匯出的時候卻發現圖片沒法顯示,這估計是java程式的各種配置和路徑問題所導致,後來找到一種解決方法,供遇到這方面問題的學習java程式的鞋同參考: Java專案下的目錄結構如下: 其中class類放

Linux中如何指令碼在後臺執行

在Linux中如何讓指令碼在後臺執行,即使關閉了putty.exe視窗,任然能夠正常執行 原來: @echo off @title 測試jar工程單獨執行的情況 java -Xbootclasspath/a:./lib/commons-logging-1.1.jar;./l

Linuxjar改為可直接執行檔案

在Linux下執行jar軟體需要輸入 java -jar XX.jar 作為懶人,每次輸入java $java_opts -jar 實在是太麻煩了 希望能直接./XX 直接執行 例如在PATH路徑下有XX.jar檔案 新建檔案XX #!/bin/bash java $JA

telnet 不能後臺執行程式後臺執行程式加入假死檢測功能

        Telnet協議是TCP/IP協議族中的一員,是Internet遠端登陸服務的標準協議和主要方式。它為使用者提供了在本地計算機上完成遠端主機工作的能力。在終端使用者的電腦上使用teln

Linux使用者獲取root許可權執行程式

    在linux下系統的預設root使用者是不被啟用的,這和MS windows的做法恰恰相反,windows XP卻是安裝好系統好,就給你建立一個自動登入的管理員使用者,不過Linux不一樣的這一點也大大地增加了系統的安全性,但同時對我們的操作使用有了些特別的要 求,下面我們就來給剛接觸linux

Windows/Linux引用jar包,並用javac/java編譯執行

1> Windows 假設要引用的jar放在D:/test目錄下,名字為t1.jar, java原始檔放在D:/test/src目錄下,名字為t2.java。 編譯: javac  -cp  d:/test/t1.jar  d:/test/src/t2.java 執行

使用forevernodejs應用後臺執行

forever linux nodejs 使用終端連接執行nodejs後,用戶斷開客戶連接,服務就stop了。於是可以用forever,後臺執行命令,然後保持服務運行 yum install forever -y #安裝 forever start app.js