進程和優先級

???? 什么是進程?我們先來了解一下進程的概念:我們知道操作系統最核心的概念就是進程。進程簡單來說就是在操作系統中運行的程序,它是操作系統資源管理的最小單位。但是進程是一個動態的實體,它是程序的一次執行過程。進程和程序的區別在于:進程是動態的,程序是靜態的,進程是運行中的程序,而程序是一些保存在硬盤上的可執行代碼。1

?? 當多個任務要執行時怎么辦呢?先執行誰呢?這時候就需要看優先級了。
進程優先級:
(1)系統優先級:數字越小優先級越高 0-139 各有140個運行隊列和過期隊列
(2)實時優先級:99-0 值越大優先級越高
(3)nice值:-20到19,對應系統優先級100-139或99

1

進程類型:

(1)守護進程:daemon,是運行在后臺的一種特殊進程。它獨立于控制終端并且周期性地執行某種任務或等待處理某些發生的事件。它不需要用戶輸入就能運行而且提供某種服務,不是對整個系統就是對某個用戶程序提供服務。Linux系統的大多數服務器就是通過守護進程實現的。

守護進程一般在系統啟動時開始運行,除非強行終止,否則直到系統關機都保持運行。守護進程經常以超級用戶(root)權限運行,因為它們要使用特殊的端口(1-1024)或訪問某些特殊的資源。一個守護進程的父進程是init進程,因為它真正的父進程在fork出子進程后就先于子進程exit退出了,所以它是一個由init繼承的孤兒進程。守護進程是非交互式程序,沒有控制終端,所以任何輸出,無論是向標準輸出設備stdout還是標準出錯設備stderr的輸出都需要特殊處理。

(2)前臺進程:跟終端相關,通過終端啟動的進程

?????? 注:守護進程和前臺進程可以相互轉換

進程狀態

(1)運行態(TASK_RUNNING)
指正在被CPU運行或者就緒的狀態。這樣的進程被成為runnning進程。運行態的進程可以分為3種情況:內核運行態、用戶運行態、就緒態。

(2)睡眠態
可中斷睡眠狀態(TASK_INTERRUPTIBLE)
處于等待狀態中的進程,一旦被該進程等待的資源被釋放,那么該進程就會進入運行狀態。
不可中斷睡眠狀態(TASK_UNINTERRUPTIBLE)
停止態(TASK_STOPPED)暫停與內存,但不會被調度,除非手動啟動。
當進程收到信號SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU時就會進入暫停狀態??上蚱浒l送SIGCONT信號讓進程轉換到可運行狀態。

(3)僵死態(TASK_ZOMBIE)
結束進程,父進程結束,前子進程不關閉

查看進程命令:ps

ps命令支持3種選項:1.unix選項:如 -A -e?? 2.BSD選項 :如a??? 3.GNU選項:如– help

ps? a 包括所有終端的中的進程

1

ps? x 包括不鏈接終端的進程

1

ps u 顯示進程所有者的信息

1

ps f 顯示進程的父進程

1

ps -e顯示所有進程

ps -f顯示完整格式程序信息

ps -o 選擇指定要看的信息(如PID,%CPU等)

1

pstree 樹狀顯示進程

pidoff? XX查看xx的進程編號

1

ps命令一般使用 ps aux 或者lax組合查看進程

ps 命令標頭解釋

USER 進程的屬主;
PID 進程的ID;
PPID 父進程;
%CPU 進程占用的CPU百分比;
%MEM 占用內存的百分比;
NI 進程的NICE值,數值大,表示較少占用CPU時間;
VSZ 進程虛擬大??;
RSS 駐留中頁的數量;
TTY 終端ID
STAT 進程狀態(有以下幾種)
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處于休眠狀態;
T 停止或被追蹤;
W 進入內存交換(從內核2.6開始無效);
X 死掉的進程(從來沒見過);
Z 僵尸進程;
< 優先級高的進程
N 優先級較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位于后臺的進程組;
WCHAN 正在等待的進程資源;
START 啟動進程的時間;
TIME 進程消耗CPU的時間;
COMMAND 命令的名稱和參數;

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86778

(1)
李先生李先生
上一篇 2017-09-09 20:48
下一篇 2017-09-10 08:33

相關推薦

  • 第1周作業

    第一周作業   1、描述計算機的組成及其功能。 計算機由運算器,控制器,存儲器,輸入裝置和輸出裝置五大部件組成計算機 運算器,控制器:CPU 存儲器:內存和硬盤 輸入裝置和輸出裝置:鍵鼠和顯示器   2、按系列羅列Linux的發行版本,并描述不同版本的聯系和區別。   linux的發行版本大致分為兩大類,一類是商業公司維護的發行…

    Linux干貨 2017-08-24
  • python裝飾器詳解

    python之裝飾器詳解 一、裝飾器定義 定義一個函數,可以接受一個函數作為參數,對該函數進行一些包裝,不改變函數的本身。 二、裝飾器四部曲(分解) 1、函數可賦值給變量。若賦值給變量的是調用后的函數,變量的值就是return的返回值。 切記:函數賦值給變量,只看return的值。分清楚函數是處于調用狀態還是未被調用狀態。若函數沒有寫return,默認ret…

    2017-02-08
  • 編譯安裝httpd-2.4.9及新特性詳解

    前言 前面我們講解了httpd在CentOS6上(httpd-2.2)的相關功能配置,而CentOS7上采用了httpd-2.4的版本,那么httpd-2.4增加了哪些特性呢?接下來讓我們在CentOS6.6上手動編譯安裝一下httpd-2.4.9,看一下和httpd-2.2有什么不同,順便補充說一下httpd的其它功能。 環境及新特性介紹 環境介紹 系統環…

    Linux干貨 2015-04-15
  • linux 權限相關知識

    linux day 6     用戶、組和權限 1.Linux用戶:Username/UID         管理員:root, 0         普通用戶:1-65535             …

    Linux干貨 2016-08-08
  • 【26期】Linux第九周學習小總結

    本周帶來的是慢慢的技術分享,有關于計劃任務的分享,涉及的知識點主要是at和cron,crontab的詳解,計劃任務可以將任何腳本、程序或文檔安排在某個最方便的時間運行,有利于我們的自動化運維,當某項任務多次重復,或者某個指定的時間點多次執行時,就可以使用計劃任務方便我們的工作。

    2017-09-09
  • 計劃任務與啟動流程

    一、任務計劃 未來的某時間點執行一次任務:    at:在指定的時間執行任務    batch:系統自行選擇空閑時間去執行此處指定的任務周期性運行某任務:    cron:在指定的時間執行任務 1、at任務at [option] TIME  常用選項:&nbs…

    Linux干貨 2016-09-13
欧美性久久久久