默認(rèn)情況下,進(jìn)程是在前臺(tái)運(yùn)行的,這時(shí)就把shell給占據(jù)了,我們無法進(jìn)行其它操作。對于那些沒有交互的進(jìn)程,很多時(shí)候,我們希望將其在后臺(tái)啟動(dòng),可以在啟動(dòng)參數(shù)的時(shí)候加一個(gè)'&'實(shí)現(xiàn)這個(gè)目的:
zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ./zkServer.sh start &[1] 21304zsm@wilburUbun:~/application/zookeeper-3.4.8/bin$ ZooKeeper JMX enabled by defaultUsing config: /home/zsm/application/zookeeper-3.4.8/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[1]+ Done ./zkServer.sh start進(jìn)程切換到后臺(tái)的時(shí)候,我們把它稱為job。切換到后臺(tái)時(shí)會(huì)輸出相關(guān)job信息,以前面的輸出為[1] 21304例:[1]表示job ID是21304表示進(jìn)程ID是21304。 切換到后臺(tái)的進(jìn)程,仍然可以用ps命令查看,或通過jobs命令只查看所有job(后臺(tái)進(jìn)程)
二、守護(hù)進(jìn)程
如果一個(gè)進(jìn)程永遠(yuǎn)都是以后臺(tái)方式啟動(dòng),并且不能受到Shell退出影響而退出,一個(gè)正統(tǒng)的做法是將其創(chuàng)建為守護(hù)進(jìn)程(daemon)。守護(hù)進(jìn)程值得是系統(tǒng)長期運(yùn)行的后臺(tái)進(jìn)程,類似Windows服務(wù)。守護(hù)進(jìn)程信息通過ps –a無法查看到,需要用到–x參數(shù),當(dāng)使
用這條命令的時(shí)候,往往還附上-j參數(shù)以查看作業(yè)控制信息,其中TPGID一欄為-1就是守護(hù)進(jìn)程。
三、守護(hù)進(jìn)程與后臺(tái)進(jìn)程
后臺(tái)進(jìn)程的文件描述符也是繼承于父進(jìn)程,例如shell,所以它也可以在當(dāng)前終端下顯示輸出數(shù)據(jù)。但是daemon進(jìn)程自己變成了進(jìn)程組長,其文件描述符號和控制終端沒有關(guān)聯(lián),是控制臺(tái)無關(guān)的。
基本上任何一個(gè)程序都可以后臺(tái)運(yùn)行,但守護(hù)進(jìn)程是具有特殊要求的程序,比如要脫離自己的父進(jìn)程,成為自己的會(huì)話組長等,這些要在代碼中顯式地寫出來換句話說,守護(hù)進(jìn)程肯定是后臺(tái)進(jìn)程,但反之不成立。
四、進(jìn)程查看
守護(hù)進(jìn)程:ps -x
普通進(jìn)程:ps 或 帶參數(shù)的其他ps命令
后臺(tái)進(jìn)程:jobs 或 前面的上述的那些命令
五、跟系統(tǒng)任務(wù)相關(guān)的幾個(gè)命令
fg、bg、jobs、&、ctrl+z
1. & 最經(jīng)常被用到
這個(gè)用在一個(gè)命令的最后,可以把這個(gè)命令放到后臺(tái)執(zhí)行
2. ctrl + z
可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且暫停
3. jobs
查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令
4. fg
將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行
如果后臺(tái)中有多個(gè)命令,可以用 fg %jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺(tái)正在執(zhí)行的命令的序號(不是pid)
5. bg 將一個(gè)在后臺(tái)暫停的命令,變成繼續(xù)執(zhí)行
如果后臺(tái)中有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺(tái)正在執(zhí)行的命令的序號(不是pid)
1. jobs列舉出后臺(tái)作業(yè)信息。([作業(yè)號] 運(yùn)行狀態(tài) 作業(yè)名稱)
2. ctrl+z 將任務(wù)放到后臺(tái)去,并暫停;
3. bg <%int> 將后臺(tái)任務(wù)喚醒,在后臺(tái)運(yùn)行;
4. fg <%int> 將后任務(wù)的程序放到前臺(tái);
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注