生產環境之「進程」兩字

1、進程概念linux

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


2、進程狀態微信

1)運行狀態:running    ide

2)就緒狀態:ready  工具

3)睡眠可中斷 ui

4)睡眠不可中斷   spa

5)中止狀態 stopped   6)僵死狀態  zombieorm


3、進程管理命令排序

Linux系統狀態的查看及管理工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup 繼承


Linux系統各進程的相關信息均保存在/proc/PID目錄下 的各文件中 


pstree命令:  

  pstree - display a tree of processes 


ps命令: 

 ps - report a snapshot of the current processes 

ps [OPTION]... 

   -e:顯示全部進程和-a等同  

   -a:顯示全部進程和-e等同 

   -f:選項顯示其進程的父進程 

   -u:選項顯示全部者信息

   -x:包括不連接終端的進程  

   -o:指定屬性進行顯示:pid,comm,%cpu,%mem,state,tty,euser(effective user),ruser(real user) 


VSZ:Virtual Memory Size,虛擬內存集    

RSS:常駐內存集(物理內存集)


stat狀態: 

        R:running 

        S:interruptable sleeping 

        D:uninterruptable sleeping 

        T:stopped 

        Z:zombie  


經常使用組合:-ef 

   -e: 顯示全部進程 

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


經常使用組合:-eFH 

    -F: 顯示更完整格式的進程信息

    -H: 以進程層級格式顯示進程相關信息

    經常使用組合:自定義 -eo pid,tid,class,rtprio,ni,pri,psr, pcpu,stat,comm axo     stat,euid,ruid,tty,tpgid,sess,pgrp,ppid, pid,pcpu,comm


ni:nice值 pri:priority,優先級 psr:processor,cpu編號 

rtprio:實時優先級


pgrep命令:     

    pgrep [options] pattern  


選項:

    -u:uid,進程的生效者 

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

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

    -l: 顯示進程名 

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

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


按確切的程序名稱:/sbin/pidof pidof bash   


3、進程管理工具

top:

09LtjylPZlg


htop:

09LtjumOlHc


欄目信息:

us:user 

space:用戶空間    

sy:內核空間    

ni:nice值    

wa:等待I0時間    

id:空閒    

hi:硬中斷    

si:軟中斷    

st: stolen 虛擬機偷走的時間


進程相關參數說明: 

PID:任務的進程號    

PPID:進程的父進程的進程號    

RUSER:進程的全部者    

EUSER:進程的生效用戶

TTY:終端   

PR:優先級   

%CPU:CPU的佔有率   

%MEM:內存的佔有率 

S:進程狀態    

TIME+:CPU工做時間


top:有許多進程內置命令  

1)排序

P:以佔據的cpu的百分比,%cpu  

M:佔據內存的百分比,%MEM  

T:累積佔據cpu時長time 


2)首部信息

uptime信息:l命令     

tasks及cpu信息:t命令      

memory信息:m命令


3)退出命令:q 

修改刷新時間:s  

終止指定進程:k  

保存文件:W


kill命令:向進程發送進程控制信號,以實現對進程管理。


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

2)SIGINT: 停止正在運行中的進程  

9)SIGKILL: 殺死正在運行的進程    

15)SIGTEM: 停止正在運行的進程,讓其運行完,再次殺死   

18)SIGCONT: 繼續運行 

19)SIGSTOP: 後臺休眠 


指定信號的方法:

(1) 信號的數字標識;1, 2, 9 

(2) 信號完整名稱;SIGHUP

(3) 信號的簡寫名稱;HUP


殺死進程的方法: 

按PID:kill [-SIGNAL] pid...   

按名稱:killall [-SIGNAL] COMM  

按模式:pkill [options] pattern    

    -SIGNAL

    -u uid:effective user 生效者  

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

    -l:顯示進程名 

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

    -P:pid 顯示父進程爲此處指定的進程的 進程列表


來源:馬哥教育

官方微信:magedu-linux

相關文章
相關標籤/搜索