浴火重生 -- 涅磐鳳凰

鳳凰之所以神奇,是因為它的涅磐。浴火,然後重生,這,是一種永恒。
正文

進程及作業

(2006-02-22 23:07:10) 下一個

   Linux係統上所有運行的任務都可以稱之為一個進程,每個用戶任務、每個係統管理守護進程,也都可以稱之為進程。Linux用分時管理方法使所有的任務共同分享係統資源。我們所關心的是如何去控製這些進程,讓它們能夠很好地為用戶服務。

   進程的一個比較正式的定義是:在自身的虛擬地址空間運行的一個單獨的程序。進程與程序是有區別的,進程不是程序,雖然它由程序產生。程序隻是一個靜態的命令集合,不占係統的運行資源;而進程是一個隨時都可能發生變化的、動態的、使用係統運行資源的程序。而且一個程序可以啟動多個進程。

  Linux係統中所有進程都是相互聯係的。除了初始化進程外,所有進程都有一個父進程。新進程不是被創建,而是被複製,或者從以前的進程複製而來。Linux係統中所有的進程都是由一個進程號為1的init進程衍生而來的。而我們在Shell下執行程序啟動的進程則是Shell進程的子進程,當然我們啟動的進程可以再啟動自己的子進程。這樣形成了一棵進程樹,每個進程都是樹中的一個節點,其中樹的根是init。

  進程和作業的概念也有區別。一個正在執行的進程稱為一個作業,而作業可以包含一個或多個進程,尤其是當使用了管道和重定向命令的時候。

  作業控製指的是控製正在運行的進程的行為。比如,用戶可以掛起一個進程,等一會兒再繼續執行該進程。Shell將記錄所有啟動的進程情況,在每個進程過程中,用戶可以任意地掛起進程或重新啟動進程。作業控製是許多Shell(包括bash和tcsh)的一個特性,使用戶能在多個獨立作業間進行切換。

  例如,當用戶編輯一個文字文件,並需要中止做其他事情時,利用作業控製,用戶可以讓編輯器暫時掛起,返回Shell提示符開始做其他的事情。其他事情做完以後,用戶可以重新啟動掛起的編輯器,返回到剛才中止的地方,就像用戶從來沒有離開編輯器一樣。這隻是一個例子,作業控製還有許多其他實際的用途。

[ 打印 ]
閱讀 ()評論 (2)
評論
目前還沒有任何評論
登錄後才可評論.