Linux進程管理-初級

Linux進程管理-初級

背景:

在學習完Linux進程管理后,發現這一塊的知識點比較多,很多都是自己以前沒有接觸過的,而且這部分知識對今后的工作有很大幫助,在這里做個學習的總結,供以后復習。

進程介紹:

什么是進程

進程(Process):運行中的程序的一個副本,是被載入內存的一個指令集合,進程有進程ID(Process ID,PID),用來標記每個進程,UID、GID和SELinux語境決定對文件系統的存取和訪問權限,通常從執行進程的用戶來繼承,進程是存在生命周期的。

Linux系統中 init(CentOS7名字發生了變化) 是系統的第一個進程,進程都是由父進程創建,他們之間是父子關系

進程優先級

進程優先級分為系統優先級、實時優先級和nice值

系統優先級:數組越小優先級越高,CentOS4、5是從0-139,一共140個優先級;CentOS6、7是從0-98,99,一共100個優先級

實時優先級:從99-0,值越大優先級越高

nice值是從-20到19,對應系統優先級100-139或99

進程狀態

進程類型:

進程分為守護進程:daemon,在系統引導過程中啟動的進程,和終端無關進程

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

這兩者是可以相互轉化的

進程狀態:

R :運行態:running

就緒態:ready

睡眠態:

            S 可中斷:interruptable

            D 不可中斷:uninterruptable

T 停止態:stopped,暫停于內存,但不會被調度,除非手動啟動

Z 僵死態:zombie,指子進程退出時,父進程并未對其發出的SIGCHILD信號進行適當處理,導致子進程停留在僵死狀態等待其父進程為其收尸,這個狀態下的子進程就是僵死進程。

+:前臺進程

l:多線程進程

L:內存分頁并帶鎖

N:低優先級進程

<:高優先級進程

s:session leader,會話(子進程)發起者

ps命令:

          查看進程命令:ps

          ps 支持三種選項:

                UNIX選項: 如-A -e

                BSD選項: 如a

                GNU選項: 如–help

          ps選項:默認是顯示當前終端中的進程

                a 所有終端中的進程

                x 不鏈接終端的進程

                u 顯示進程所有者的信息

                f 顯示進程的父進程

                k|–sort 對屬性排序

                o 顯示定制的信息 (包括:pid、comm、%cpu、%mem、state、tty、euser進程發起者、ruser真正執行者等)

例子1:

Linux進程管理-初級

例子2:

Linux進程管理-初級

最靈活使用:ps 選項 | 其他命令  (通過管道多查到的進程在篩選,如:ps aux | grep httpd)

pgrep命令:

pgrep [options] pattern

選項:

-u uid:effective user,生效者

-U uid:real user,真正發起運行命令者

-t terminal:與指定終端相關的進程

-l :顯示進程名

-a :顯示完整格式的進程名

-P pid:顯示指定進程的子進程

查看具體某個進程的進程id

pidof命令:

pidof bashname

例子:我在一個終端執行ping命令

Linux進程管理-初級

在另一個終端用pidof查看ping進程對應的進程id

Linux進程管理-初級

進程管理工具-top

直接使用top命令

Linux進程管理-初級

在進入top后可以按P(占據cpu百分比排序)、M(占據內存百分比排序)、T(占據cpu時長)來按不同類型排序,默認是按cpu排序顯示。

top選項

-d #:指定刷新時間,默認是3秒

-b:顯示所有進程

-n:刷新多少次后退出

kill 命令

向進程發送控制信號可以對進程進行管理,每個信號對應一個數字,信號名稱以SIG開頭(可省略),不區分大小寫

顯示當前系統可用信號用命令:kill -l 或者 trap -l

這里例舉幾個常用的信號:

1)SIGHUP:無需關閉進程,讓其重讀配置文件

2)SIGINT :中止正在運行的進程,相當于Ctrl+c

3)SIGQUIT:相當于Ctrl+\

9)SIGKILL :強制殺死正在運行的進程,可將用戶踢出系統

15)SIGTREM :終止正在運行的進程(比較溫柔的殺死進程,有些進程是它無法殺掉的,需要用9)

18)SIGCONT:繼續運行

19)SIGSTOP:后臺休眠

按PID發生信號:kill [-SIGNAL] pid …

例子:我們用一個終端來執行ping命令,ping命令是前臺執行的進程,我們在另一個終端讓它后臺運行,在讓它回到前臺。

Linux進程管理-初級

Linux進程管理-初級

Linux進程管理-初級Linux進程管理-初級

Linux進程管理-初級

這時可以用kill -15 2591 來殺死進程,也可以讓它變成前臺運行,用Ctrl+c結束,命令:先用jobs命令查看在工作的進程,找到ping對應的job號,用fg命令讓它處于前臺執行。

Linux進程管理-初級

Linux進程管理-初級

按名稱發信號:killall [-SIGNAL] comm…

按模式發信號:pkill [optins] pattern

-SIGNAL

-u uid:effective user,生效者

-U uid:real user,真正發起運行命令者

-t terminal:與指定終端相關的進程

-l:顯示進程名(pgrep可用)

-a:顯示完整格式的進程名(pgrep可用)

-P pid:顯示指定進程的子進程

如果你想在執行命令就讓他處于后臺運行,可以在命令后面加上&符號

Linux進程管理-初級

以上都是進程和進程管理的初步應用,更深層次的使用需要結合實際運用來使用。

原創文章,作者:657188918,如若轉載,請注明出處:http://www.www58058.com/85372

(0)
657188918657188918
上一篇 2017-08-26
下一篇 2017-08-26

相關推薦

  • MySQL存儲過程中IN、OUT、INOUT參數使用

    MySQL存儲過程中IN、OUT、INOUT參數使用 MySQL存儲過程的參數用在存儲過程的定義,共有三種參數類型,IN、OUT、INOUT形式如:CREATE PROCEDURE([IN|OUT|INOUT] 參數名 數據類型,…) IN 輸入參數:表示該參數的值必須在調用存儲過程時指定,在存儲過程中修改該參數的值不能被返回,為默認值。| 意思…

    Linux干貨 2017-05-08
  • SElinux配置httpd

    一、啟用SELinux策略并安裝httpd服務,改變網站的默認主目錄為/website,添加SELinux文件標簽規則,使網站可訪問     1、修改selinux策略并重啟 [root@localhost ~]# vim /etc/selinux/config# This file controls the stat…

    Linux干貨 2016-09-19
  • 計算機和linux基礎

    計算機的組成及其功能 計算機硬件主要由5部分組成:運算器 、控制器、存儲器、input、output。 但是這和我們平時見到的計算機不一樣?我們平時見到的計算機有CPU,內存,硬盤,顯示器,鼠標鍵盤,顯卡、主板等。這些東西也都歸在以上五類設備中。下面我們簡單介紹一下計算機這五個組成部分。 運算器: 運算器是計算機中做運算的部分,可以執行各種指令,加減乘除,與…

    Linux干貨 2016-09-16
  • Linux高級文件系統管理

                                          &n…

    系統運維 2016-09-06
  • 第一周:Linux基礎及哲學思想

    1.現代計算機的組成及功能    現代計算機由運算器、控制器、存儲器、輸入和輸出設備5大部分組成。分別擔當著計算機的計算,控制,存儲,輸入和輸出等功能. 2.Linux的發行版及其之間的聯系與區別     Linux發行版主要分支分為三大系列: Slackware、debian 、redhat  &…

    Linux干貨 2016-06-23
  • N28-第一周

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
    3. 描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
    4.說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
    5.如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的?
    6.請羅列Linux發行版的基礎目錄名稱命名法則及功能規定。

    Linux干貨 2017-12-04
欧美性久久久久