20181128linux進程簡介

linux進程簡介

一.什麼是進程?
進程是已啓動的可執行程序的運行實例,進程有如下組成部分:linux

  1. 已分配內存的地址空間
  2. 安全屬性,包括全部權憑據和特權
  3. 程序代碼的一個或多個執行線程
  4. 進程狀態
    20181128linux進程簡介
    程序:二進制文件,靜態/bin/date,/usr/sbin/httpd ,/usr/sbin/sshd,/usr/local/nginx/sbin/ngix
    進程:是程序運行的過程,動態,有生命週期及運行狀態
    二.進程的生命週期
    20181128linux進程簡介
    父進程複製本身的地址空間(fork)建立一個新的(子)進程結構。每一個新進程分配一個惟一的進程ID(PID),知足跟蹤安全性之需。PID和父進程ID(PPID)是子進程環境的元素,任何進程均可以建立子進程,全部進程都是第一個系統進程的後代:
    centos5/6:init
    centos7:systemd
    20181128linux進程簡介
    子進程繼承父進程的安全性身份、過去和當前的文件描述符、端口和資源特權、環境變量、以及程序代碼。隨後,子進程可能exec本身的程序代碼。一般,父進程在子進程運行期間處於睡眠(sleeping)狀態。當子進程完成時發出(exit)信號請求,在退出時,子進程已經關閉或丟棄了其資源環境,剩餘的部分稱之爲僵停(僵尺zombie)。父進程在子進程退出時收到信號而被喚醒,清理剩餘的結構,而後繼續執行其本身的程序代碼。
    三.進程狀態:
    在多任務處理操做系統中,每一個CPU(或核心)在一個時間點上只能處理一個進程,在進程運行時,它對CPU時間和資源分配的要求會不斷變化,從而爲進程分配一個狀態,它隨着環境要求而改變。
    20181128linux進程簡介
    20181128linux進程簡介
相關文章
相關標籤/搜索