shell下,程序的前台與後台執行

2022-03-25 16:52:07 字數 1703 閱讀 9468

跟系統任務相關的幾個命令:fg、bg、jobs、&、ctrl+z

1. & 最經常被用到

這個用在乙個命令的最後,可以把這個命令放到後台執行

2. ctrl + z

可以將乙個正在前台執行的命令放到後台,並且暫停

3. jobs

檢視當前有多少在後台執行的命令

4. fg

將後台中的命令調至前台繼續執行

如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)

5. bg 將乙個在後台暫停的命令,變成繼續執行

如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)

1. jobs列舉出後台作業資訊。([作業號]   執行狀態   作業名稱)

2. ctrl+z 將任務放到後台去,並暫停;

3. bg <%int> 將後台任務喚醒,在後台執行;

4. fg   <%int> 將後任務的程式放到前台;

1. ctrl+z 將任務放到後台去,並暫停.

主程序waitpid(pid,&status,wuntraced)時,子程序

退出時,父程序被喚醒

2. 將後台任務喚醒,在後台執行;

kill(pid,sigcont);  

3. 將後台執行的程式放到前台;

kill(pid,sigcont);  

waitpid(pid,&status,wuntraced);

void fg(

char

*p)else

printf

("error \n");

return 0;

}void bg(

char

*p)  

else

printf

("error \n");

return 0;

}//可見,後台執行與前台執行的區別只在於前台執行等待子程序的退出而阻塞父程序操作。而後台執行時,可以在父程序中輸入命令繼續其他操作。本質上沒有區別,都是給子程序傳送sigcont訊號。

---------------------------

1.解釋程式前台執行與後台執行的區別?

答:前台程式與使用者直接對話;後台程式則間接地為前台程式提供支援,一般來說是為前台程式提供所需要的資源。後台程式既可以直接與前台程式進行對話,也可以使用中間程式作為媒介。通常把使用者正在操作的程式稱為前台程式,而使用者沒有操作但也在執行的程式(如系統服務)稱為後台程式

.命令解釋程式建立乙個後台程序時,它在發出此程序命令後,

並在接收其他命令之前,不用等待這個程序結束。

例如:$ddd &

而前台就要等待,直到程序結束為止。

例如:$ddd

ctrl-c就結束ddd。

前台程式和終端關聯,後台程式不受終端控制。

廣義上說,

前台程式/後台程式並不是乙個很明確的概念。如果是c/s結構,通常把客戶端的程式看做前台程式,而伺服器端程式看做後台程式。現在的作業系統都是多工的作業系統,可以同時執行多個程式。前台程式就是你當前正在使用的程式,後台程式就是你開啟了以後沒有使用但仍在執行的程式。

shell下,程序的前台與後台執行

跟系統任務相關的幾個命令 fg bg jobs ctrl z ctrl c 1.最經常被用到 這個用在乙個命令的最後,可以把這個命令放到後台執行 2.ctrl z 可以將乙個正在前台執行的命令放到後台,並且暫停 3.jobs 檢視當前有多少在後台執行的命令 4.fg 將後台中的命令調至前台繼續執行 ...

Linux Shell下的後台執行及其前台的轉換

當用bash啟動乙個程式,你可以用在程式後加 實現程式在後台執行 例如 emacs 但如果你忘了輸入 但你又不想把程式停止後重新啟動 你可以這麼做 按ctrl z暫停前台工作,比如前面提到的emacs 然後用jobs命令檢視當前bash一共啟動了多少程式,你可以看到你的emacs在其中,它的狀態是s...

前台與後台分離的架構實踐

如果你經歷過創業,經歷過快速迭代業務,經歷過使用者量不斷 經歷過訪問併發越來越大,你一定會遇到以下系統問題 如果你沒有經歷過,很可能是 創業初期遇到上述痛點,很容易想到 三個分離 的架構優化方案 一 業務場景介紹 虛擬乙個類似於 安居客 租房買房的業務場景,這個業務的資料有兩大 這個業務對應的系統有...