進程介紹
linux系統中幾乎任何行動都會以進程的形式進行例如:
- 如果你用網絡瀏覽器查看網頁,瀏覽器就作爲進程運行
- 如果鍵入bash shell 命令,這個shell就作爲進程運行
- 如果你用chmod命令更改文件權限,chmod就作爲單獨的進程來執行
- 進程是完成工作的形式,linux內核的基本職責就是爲了進程提供做事情的地方以及使用的資源,不讓彼此撞車
進程是已啓動的可執行程序的運行事例,進程有一些組成部分: - 已分配內存的地址空間
- 安全屬性,包括所有權憑據及特權
- 程序代碼的一個或多個執行進程
- 進程狀態
補充:進程名稱帶有【】的是系統進程,不帶【】的是用戶創建的進程
進程與程序
程序:二進制文件,靜態
進程:是程序運行的過程,動態的產生和消亡,有生命週期及運行狀態
進程的屬性
- 進程ID(PID):是唯一的值,用來區分進程
- 父進程(PPID):任何一個進程都可以fork子進程,而自己就是父進程
- 啓動進程的用戶ID(UID)和所歸屬的組(GID)
- 進程狀態:分爲運行R 休眠S 殭屍Z
- 進程執行的優先級
- 進程所連接的終端名
- 進程資源佔用:如內存、CPU等
進程五種狀態
- 可運行(R):處於可運行狀態的進程,一旦有機會,就會訪問CPU。多個進程可以(而且進程)處於可以運行狀態,但是因爲在任何給定時間內只有一個進程可以在CPU上運行,所以實際上這些進程中只有一個在任何給定的實例上運行