進程管理

linux維護工作中,常常需要對系統上運行的程序進行管理,那么進程管理就顯得相當重要。

進程初識

  • 什么是進程?

      進程是并發執行的程序在執行過程中分配和管理資源的基本單位,是一個動態概念。它代表CPU所能處理的單個任務。
  • 什么是線程?

      線程是程序流執行的最小單元,可以理解為進程中執行的一段程序片段。
  • 進程與線程聯系和區別

      一個線程可撤銷另一個線程,同一個進程中的多個線程可并發執行。
      可與同進程中的其他線程共享內存空間,擁有自己的??臻g,和獨立的執行序列。
  • 進程分類

      守護進程:在系統引導過程中啟動的進程,和終端無關。
      前臺進程:跟終端相關,通過終端啟動的進程。
      兩者可相互轉化。
  • 進程優先級
      1-99:實時優先級:數字越大,優先級越高。
      100-139:靜態優先級:數字越小,優先級越高。
      nice值:-20,193、ps命令 用于報告系統當前系統進程狀態。

  • 進程狀態
    進程管理

運行態:
  當進程正在被CPU執行,或已經準備就緒隨時可有調度程序執行,則該進程處于運行態(running).當系統資源已經可用時,進程就被喚醒而準備進入準備運行狀態,該狀態為就緒態。
可中斷睡眠狀態:
  處于這個狀態的進程不會被系統調度。當系統產生了一個中斷或者釋放了進程正在等待 的資源,或者收到一個信號,都可以喚醒進程轉換到就緒態(運行態)。
不可中斷睡眠轉態:與可中斷睡眠轉態類似。但只能被wake_up()函數喚醒才能轉換為就緒態。
暫停轉態:
  進程收到信號SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU時會轉換為暫停轉態,向其發送SIGCONT信號可讓其轉換為可運行狀態。
僵尸狀態:
  當進程已經停止運行,但其父進程還沒有詢問其狀態時,該進程處于僵死狀態。

進程管理命令

  • ps命令
    用于報告當前系統的進程狀態??梢源钆鋕ill指令隨時中斷、刪除不必要的程序。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。
    進程管理

  • top命令
    top命令可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。
    進程管理

  • htop命令
    htop是Linux系統下一個基本文本模式的、交互式的進程查看器,主要用于控制臺或shell中,可以替代top,或者說是top的高級版。

      快速查看關鍵性能統計數據,如CPU(多核布局)、內存/交換使用
      可以橫向或縱向滾動瀏覽進程列表,以查看所有的進程和完整的命令行
      殺掉進程時可以直接選擇而不需要輸入進程號
      通過鼠標操作條目
      比top啟動得更快

    進程管理

  • vmstat命令
    顯示虛擬內存狀態(Viryual Memor Statics),但是它可以報告關于進程、內存、I/O等系統整體運行狀態。
    進程管理

  • pmap命令
    pmap命令用于報告進程的內存映射關系,是linux調試及運維的一個很好的工具。
    pmap [options] pid [...]
    -x 顯示詳細格式
    pmap 讀取的是/proc/PID/maps中的信息。

  • glances命令
    Glances 是一個由Python編寫,使用 psutil 庫來從系統抓取信息的基于curses開發的跨平臺命令行系統監視工具。通過Glances,可以監視CPU,平均負載,內存,網絡流量,磁盤 I/O,其他處理器和文件系統空間的利用情況。
    進程管理

  • dstat命令
    dstat命令是一個全能信息統計工具,擁有彩色界面,支持實時刷新,功能非常強大。
    進程管理

  • kill命令
    kill命令可以給進程發送信號,通過傳遞信號可以完成多種操作

      常用信號
      1) SIGHUP: 無須關閉進程而讓其重讀配置文件;
      2) SIGINT: 中止正在運行的進程;相當于Ctrl+c;
      9) SIGKILL: 殺死正在運行的進程;
      15) SIGTERM:終止正在運行的進程;
      18) SIGCONT:
      19) SIGSTOP:
      顯示當前可用信號 kill -l

    例:[root@localhost ~]# kill -9 4197
      Killed
      [root@localhost ~]#

  • pkill命令
    pkill命令可以按照進程名殺死進程。pkill和killall應用方法差不多,也是直接殺死運行中的程序;如果想殺掉單個進程,請用kill來殺掉。
    進程管理

原創文章,作者:M20-1--孔祥文,如若轉載,請注明出處:http://www.www58058.com/44411

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-09-07 17:17
下一篇 2016-09-07 17:44

相關推薦

  • 制作python模塊安裝包[原創]

     python的第三方模塊越來越豐富,涉及的領域也非常廣,如科學計算、圖片處理、web應用、GUI開發等。當然也可以將自己寫的模塊進行打包或發布。一簡單的方法是將你的類包直接copy到python的lib目錄,但此方式不便于管理與維護,存在多個python版本時會非常混亂?,F介紹如何編寫setup.py來對一個簡單的python模塊進行打包。 一、…

    Linux干貨 2015-03-27
  • linux基礎入門

    前言:一次寫博客,還寫的Linux的專業知識,好多都是參考著寫的,經過一周的學習,從一開始有很多名詞都不了解,也算是零基礎吧,到現在經過反復琢磨還是了解不少了,萬事開頭難,只要你肯、你愿意下功夫,一定是能很好完成的! Linux基礎入門 一、目錄結構與文件 /    根目錄 Bin  存放系統啟動文件及其內核 Dev …

    Linux干貨 2017-07-15
  • 文本處理三劍客之awk

    一、知識整理 1、awk報告生成器,格式化文本輸出 發明人:a.k.a. Aho,Kernighan,weinberger awk程序通常由:BEGIN語句塊、能夠使用模式匹配的通用語句塊、END語句塊三部分組成。program通常是放在單引號或雙引號中。 基本用法:awk [] ‘program’ var=value fiel… pr…

    Linux干貨 2016-09-26
  • Linux基礎之shell腳本編程(四)

    1、寫一個腳本   (1) 能接受四個參數:start, stop, restart, status    start: 輸出“starting 腳本名 finished.”   (2) 其它任意參數,均報錯退出;   1 #!/bin/bash   2 #a…

    Linux干貨 2016-11-28
  • 銘記今天

        2016年10月19日,我做了一個很艱難的決定,選擇了馬哥24期網絡全程班,就算是沖動也好,無論對錯都要堅持下去。 從出來工作之后,一直做銷售這塊,雖然跟電腦有關,但是其中的艱苦只有自己明白。慢慢的年級上來了,手中沒有什么技術,做人生活,總覺得少了什么,總覺得自己以后會被社會淘汰,心一天一天著急。在后選擇了一個從來都沒有涉及的運維…

    Linux干貨 2016-10-19
  • Linux文件系統權限詳解

    一、綜述 在用戶和組的管理中介紹了Linux系統是用戶多任務的分時操作系統,這意味著同時可以有多人在同一臺pc上進行不同的操作。為了能夠保護每個用戶的數據安全,針對不同的用戶設置相應的權限是非常重要的。 Linux文件系統權限主要針對三類用戶: 文件的所有者: owner,用u標識 文件的所有組:group,用g標識 其他人: other,用o標識。不包含在…

    Linux干貨 2016-08-04

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 11:01

    文檔功底相當不錯,尤其是思維導圖,做的太精美的,贊一個?。?!

欧美性久久久久