linux 運行、關閉、查看後臺任務

在實際使用shell 過程當中,一些須要耗時較長的處理過程,最好是放到後臺執行,從而使咱們可以在終端執行更其餘須要更多關注的操做。下面整理了一些關於後臺執行任務的相關命令。html

1、運行後臺任務

  • 方法一:使用&

& 加在一個命令的最後,能夠把這個命令放到後臺執行linux

注意:redis

1.若是關閉當前終端,將沒法維護後臺任務的執行
2.須要用戶交互的命令不要放在後臺執行

好比這裏把redis服務的啓用的腳本寫到了redis-service-startup.shshell

# 後臺運行
./redis-service-startup.sh &
  • 方法二:使用nohup

使用&命令後,做業被提交到後臺運行,當前控制檯沒有被佔用,可是一但把當前控制檯關掉(退出賬戶時),做業就會中止運行。nohup命令能夠在你退出賬戶以後繼續運行相應的進程。nohup就是不掛起的意思( no hang up)。該命令的通常形式爲:nohup command &.net

# nohup 後臺運行
nohup ./redis-service-startup.sh &

2、使用 jobs 查看後臺任務

jobs -l
# 查詢結果
[1]+   789 Running ./redis-service-startup.sh &  (wd: ~/Documents/dev-scripts)

[1] 中表示該任務的job number 是 1。code

3、使用kill中止後臺任務

若是要中止該任務,可使用kill 命令,結合上面的jobnumberhtm

# 中止jobnumber = 1的後臺任務
kill %1

當使用nohup 後,關閉控制檯後,後臺任務仍然執行,這時候只能經過ps 命令查看咱們執行的任務的進程號, 而後再經過kill -9 進程號 殺死進程blog

其餘相關命令延伸:
  • ctrl + c 終止前臺命令
  • ctrl + z 將正在執行的任務放到後臺執行
  • fg (fg %jobnumber) 將任務從後臺調往前臺
  • bg (bg %jobnumber) 將後臺暫停的任務變成執行任務
參考連接
相關文章
相關標籤/搜索