热门问题
时间线
聊天
视角

後台進程

在背景執行的處理程序 来自维基百科,自由的百科全书

Remove ads

後台進程Background Process)是一種在不需用戶干預的情況下運行於操作系統後台的計算機進程[1] ,通常用於執行如日誌記錄英語Computer data logging系統監測作業調度[2]以及用戶提醒英語Notification system[3]等任務。

UNIX類UNIX系統中,後台進程的進程組ID(即PGID,可用ps命令獲得)與控制終端進程組ID(即TPGID)不同,因而也可以此辨識後台進程。後台進程無法接收從鍵盤傳送的信號(如Ctrl-C)[4],但從更專業的定義來說,程序是否能收到用戶的中斷信號並非後台進程的判別標準。

雖然後台進程通常用於僅需少量資源的應用,但任何進程無論占用資源多少都可以運行在後台,且即使程序在後台運行,其行為與前台進程也並無差異[1]

運行與「返回」

在類UNIX系統的命令行模式下,用戶可使用「&」操作符以啟動進程並使之運行於後台,但標準輸出stdout)和標準錯誤輸出stderr)若未重定向則仍於前台(即當前父終端)輸出。命令bg可將掛起的進程轉移到後台繼續執行,而相對應的,命令fg則可使一個後台進程返回前台(即進程啟動時所在的父終端)執行。除此之外,命令jobs可用於列出與當前終端相關聯的所有進程(其中也包括後台進程)及其狀態,因而也可用於將後台進程轉至前台[4][5]

守護程序

守護程序(Daemon)是一種特殊的不間斷運行的後台進程,常用於等待特定事件英語Event_(computing)的發生或者預設條件的滿足以觸發事件[6],這些進程一般使用最少的系統資源,其所執行的任務也基本不需要來自用戶的輸入。當進程配合daemon函數啟動後,守護進程就會與其父終端脫離聯繫[7],因而也不會在當前終端中輸出信息。

智能手機

現今許多新型智能手機PDA的操作系統都可以運行後台進程,但移動設備操作系統上的後台程序所能完成的任務與能分配到的資源也因硬件性能差異而常有所限制,如Android上後台進程的CPU使用率就限定於5%~10%的範圍內[8],而iOS上的第三方應用程序英語Third-party software component在後台運行時也只能完成指定範圍內的任務[3];除此以外,在iOS和Android上,系統也會在後台進程占用的系統存儲空間過多時將其殺死[3][8]

參見

參考資料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads