fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令java
1、&
加在一個命令的最後,能夠把這個命令放到後臺執行,如
watch -n 10 sh test.sh & #每10s在後臺執行一次test.sh腳本linux
2、ctrl + z
能夠將一個正在前臺執行的命令放到後臺,而且處於暫停狀態。shell
3、jobs
查看當前有多少在後臺運行的命令
jobs -l選項可顯示全部任務的PID,jobs的狀態能夠是running, stopped, Terminated。可是若是任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。windows
4、fg
將後臺中的命令調至前臺繼續運行。若是後臺中有多個命令,能夠用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出。操作系統
5、bg
將一個在後臺暫停的命令,變成在後臺繼續執行。若是後臺中有多個命令,能夠用bg %jobnumber將選中的命令調出。日誌
6、kill
法子1:經過jobs命令查看job號(假設爲num),而後執行kill %num
法子2:經過ps命令查看job的進程號(PID,假設爲pid),而後執行kill pid
前臺進程的終止:Ctrl+c進程
7、nohup
若是讓程序始終在後臺執行,即便關閉當前的終端也執行(以前的&作不到),這時候須要nohup。該命令能夠在你退出賬戶/關閉終端以後繼續運行相應的進程。關閉中斷後,在另外一個終端jobs已經沒法看到後臺跑得程序了,此時利用ps(進程查看命令)部署
ps -aux | grep 「test.sh」 #a:顯示全部程序 u:以用戶爲主的格式來顯示 x:顯示全部程序,不以終端機來區分get
進程後臺運行:it
nohup 代碼&
比方說我要運行一個名字叫verification-0.0.1-SNAPSHOT.jar的jar包,這樣打就能夠了
nohup java -jar verification-0.0.1-SNAPSHOT.jar&
查看進程:
ps -ef
能夠查看全部進程
結束進程:
kill -pid
比方說我經過查看進程發現上面運行的jar包的pid是21550,就能夠這樣結束它:
kill 21550
前段時間剛剛接觸了一下linux系統,本人表示第一次使用無從下手,不像windows操做系統是可視化的,簡單的建立文件或文件夾都要經過寫命令才能將其完成,因爲工做須要,不得不自學linux ,先是自學經常使用的一些命令,而後再部署可執行jar,如下是具體的操做步驟。
一、執行jar包的命令和在windows操做系統上是同樣的,都是java -jar xxxx.jar。
二、將jar程序設置成後臺運行,而且將標準輸出的日誌重定向至文件consoleMsg.log。
nohup java -jar getCimiss-surf.jar >consoleMsg.log 2>&1 &
其中:nohup命令的做用就是讓程序在後臺運行,不用擔憂關閉鏈接進程斷掉的問題了,consoleMsg.log文件前提要建立好。
三、若是想殺掉運行中的jar程序,查看進程命令爲:
ps aux|grep getCimiss-surf.jar
將會看到此jar的進程信息
data 5796 0.0 0.0 112656 996 pts/1 S+ 09:11 0:00 grep --color=auto getCimiss-surf.jar data 30768 6.3 0.4 35468508 576800 ? Sl 09:09 0:08 java -jar getCimiss-surf.jar
其中30768則爲此jar的pid,殺掉命令爲kill -9 30768