進程控制開發

  1. 進程的概念:進程是程序中的一次執行過程,也是程序執行(系統調度)和資源分配的最小單元
  2. 進程和程序的區別:進程是動態的過程,而程序是保存在磁盤中的有序集合的靜態代碼。
  3. 進程生命過程:動態創建、調度和消亡的整個過程。
  4. 進程運行在獨立的虛擬地址空間上,因此,即使一個進程發生異常,也不會影響到系統中的其他進程
  5. 使用getppid()得到的是bash的進程pid
  6. 進程的執行模式分爲用戶模式和內核模式:內核模式下的進程不受用戶的干擾,可執行機器的特權指令
  7. 進程的啓動途徑有手動啓動和調度啓動
  8. sys/types.h 提供pid_t的定義
  9. 由於子進程是父進程的完全複製,故父子進程會同時運行長度在一個程序中
  10. exec函數族使用情形:進程作用失效需要重生;進程需要執行另一個程序
  11. exec函數族中最終實際運行的函數爲execve();故其執行效率最高
  12. exit();_exit()都是終止進程的函數;exit();退出時會保存緩存I/O中的內容;故使用exit();安全,避免數據的丟失;_exit();使用效率高,但是存在數據丟失的風險。
  13. wait();是waitpid();的非阻塞版本函數;非阻塞的參數爲WNOHANG
  14. 守護進程經常在系統引導載入是啓動,在系統關閉時終止
  15. 守護進程的創建過程/步驟:1、創建子進程,父進程退出(形成孤兒今晨);2、在孤兒子進程中創建會話(子進程真正成爲獨立的進程的一步,使其脫離其他進程的控制)最重要的一步,意義重大;3、改變當前目錄爲根目錄或者自定義目錄(避免守護進程在用戶變動過程中因權限的問題而出現問題);4、重設文件權限掩碼(使操作守護進程更加靈活);5、關閉進程打開的文件;即關閉所有文件文件描述符(避免父進程打開的文件成爲消耗系統資源的文件;避免文件系統無法進行其他操作)
  16. 進程組的概念:一個或多個進程的集合。進程所屬的組;進程組都有唯一的進程組ID,且這個進程組ID爲進程組中進程組長的PID!且這個進程組ID不應進程組長的退出而失效。
  17. 會話期:會話期是一個或多個進程組的集合;一般地會話期開始於用戶登錄,終止與用戶退出;在此期間該用戶運行的進程都屬於這個會話期
  18. 系統日誌服務函數:openlog(); syslog(); closelog();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章