加在命令的最後,能夠把命令放到後臺執行:linux
watch -n 10 sh test.sh #每10s後臺執行一次test.sh腳本
能夠將一個在前臺運行的命令放到後臺,且處於暫停狀態shell
查看當前有所少在後臺運行的命令
jobs -l選項可顯示全部任務的PID,jobs的狀態能夠是running、stopped、terminated。
可是若是任務被終止了(kill),shell從當前的shell環境已知的列表中刪除任務的進程標識session
jobs命令選項 -l 列出進程ID及其餘信息 -p 僅列出進程ID -n 僅列出自從上次輸出狀態變化提示後的發生了狀態變化的進程 -r 僅顯示運行中的做業 -s 僅顯示中止的做業 -x 運行命令及其參數,並用新的命令的進程ID替代所匹配的原有做業的進程組ID
將後臺中命令調至前臺繼續運行,若是後臺有多個命令,能夠用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出code
# jobs -l [2] - stopped .... [3] + stopped ... # fg 2
將一個後臺暫停的命令,變成後臺繼續運行,若是後臺有多個命令,能夠用bg %jobnumber將選中的命令調出進程
若始終讓進程在後臺運行,即便關閉當前的終端也執行(&是作不到的),這是須要使用nohup
此命令可讓退出帳戶/關閉終端以後繼續運行相應的進程。io
nohup ping wwww.baidu.com
nohup經過忽略HUO信號來使進程中途被中斷,但若是咱們換個角度思考,若進程不屬於接受HUP信號的終端的子進程,setsid就能夠說實現test
# setsid ping www.baidu.com
在不中止進程的狀況下使提交的命令避免HUP信號的影響後臺
disown -h jobspec 來使某個做業忽略HUP信號 disown -ah 來使全部的做業都忽略HUP信號 disown -rh 來使正在運行的做業忽略HUP信號
注:當使用disown以後,會把目標做業從做業列表中移除,不能再使用jobs查看,可是還能夠經過ps -aux查看終端
screen提供了ANSI/VT100的終端模擬器,可以在一個真實終端下運行多個全屏的僞終端。screen的參數不少,具備很強大的功能
```
screen option腳本