歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux關於進程 process

什麼是進程?

進程是已啟動的可執行程序的運行實例,進程有以下組成部分:
? 已分配內存的地址空間;
? 安全屬性,包括所有權憑據和特權;
? 程序代碼的一個或多個執行線程;
? 進程狀態。
程序: 二進制文件,靜態 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd, /usr/local/nginx/sbin/ngix
進程: 是程序運行的過程, 動態,有生命周期及運行狀態。

進程的生命周期

\

父進程復制自己的地址空間(fork)創建一個新的(子)進程結構。每個新進程分配一個唯一的進程 ID (PID),滿足跟蹤安全性
之需。PID 和 父進程 ID (PPID)是子進程環境的元素,任何進程都可以創建子進程,所有進程都是第一個系統進程的後代:
Centos5/6: init
Centos7: systemd

子進程繼承父進程的安全性身份、過去和當前的文件描述符、端口和資源特權、環境變量,以及程序代碼。隨後,子進程可能exec
自己的程序代碼。通常,父進程在子進程運行期間處於睡眠(sleeping)狀態。當子進程完成時發出(exit)信號請求,在退出時,
子進程已經關閉或丟棄了其資源環境,剩余的部分稱之為僵停(僵屍Zombie)。父進程在子進程退出時收到信號而被喚醒,清理剩
余的結構,然後繼續執行其自己的程序代碼。

進程狀態:
在多任務處理操作系統中,每個CPU(或核心)在一個時間點上只能處理一個進程。在進程運行時,它對CPU 時間和資源分配的要求
會不斷變化,從而為進程分配一個狀態,它隨著環境要求而改變。

\

\

Copyright © Linux教程網 All Rights Reserved