linux 系統進程

來源:互聯網
上載者:User

標籤:command   消失   start   web服務   參數   關閉進程   指令   xshell   合并   

進程:是已經啟動的可執行檔運行執行個體

組成

  • 已指派記憶體的地址空間
  • 安全屬性,包括所有權憑據和特權
  • 程式碼的一個或多個執行線程

進程狀態

  • 程式:二進位檔案
  • 進程:是程式運行時的過程,動態,有生命週期及運行狀態
父進程複製自己的地址空間建立一個新的進程結構,每個新進程分配一個唯一的進程IP(PID),滿足跟蹤安全性,PID和父進程(PPID)是子進程環境的元素,任何進程都可以建立子進程,每個進程都是第一個系統進程的後代
  • centos5,6的PID為1的進程是init
  • centos7的PID為1的進程為systemd

殭屍進程

比較容易理解的是:    父進程退出了,子進程沒有退出. 這些子進程沒有父進程來管理,就變成了殭屍進程

 

  • 啟動進程的使用者ID(UID)和所屬的組(GID)
  • 進程狀態:運行R, 休眠S, 殭屍Z

 

PS查看進程工具

常用的參數

a: 顯示跟當前終端關聯的所有進程u: 基於使用者的格式顯示x: 顯示所有進程,不以終端機來區分

user:啟動這些進程的使用者pid:進程的id%cpu:進程佔用cpu百分比%men:進程佔用記憶體的百分比vsz:進程佔用的虛擬記憶體大小(單位kb)rss進程佔用的實體記憶體大小(kb)
stat:該進程目前的狀態
  R:該程式目前正在運行,或者可被運行
  S:該程式目前正在睡眠
  T:該程式目前正在偵測或者停止了,
  Z:該程式應該已經終止,但是其父進程無法正常的終止他,造成zombie殭屍程式的狀態
  D:不可中斷狀態
五個基本狀態後面還可以加一些字母
  <:表示進程運行在高優先順序上
  N:表示進程運行在低優先順序上
  L:表示進程有頁面鎖定在記憶體中
  s:表示進程是控制進程
  l:表示進程是多線程的
  +:表示當前進程運行在前台
start:被觸發啟動的時間
time:實際使用cpu運作的時間,有顯示0:00的,耗費cpu資源不到1秒
command:改程式的實際指令

 

還可以通過ps -ef來查看進程

-e: 顯示所有進程-f: 顯示完整格式輸出

UID:啟動這些進程的使用者PID:進程的IDPPID:父進程的ID號C:進程生命週期的利用率Stime:啟動啟動時的系統時間tty:進程在哪個終端上運行  ?:表示與終端沒有關係,大部分是核心的
  tty1-tty6是本機上面的登入者程式,若為pts/0等等的,則表示由網路連接進主機的程式(是虛擬)time:運行進程累計需要的cpu時間cmd:啟動的程式名稱

 

uptime 查看系統負載

20:25:36 :目前時間up 4 days: 系統已耗用時間,說明這台伺服器已經開機4天了3 user: 當前登入的使用者數load average: 0.00, 0.01, 0.05:  cpu系統負載,即cpu任務隊列的平均長度,三個數值分別是1分鐘,5分鐘,15分鐘的平均值

互動

互動:找出當前系統中,cpu負載過高的伺服器伺服器:load average 0.15, 0.08, 0.01         1核伺服器:load average 4.15, 6.08, 6.01        1核伺服器:load average 10.15, 10.08, 10.01    4核答案:4核經驗:單核心,1分鐘的系統平均負載不差過3,就可以,這是個經驗值

 

top命令

第一行,系統負載第二行,進程資訊    tesks(當前任務數)    running 運行    sleeping 睡眠    stopped 終止    zombie 殭屍進程第三行cpu資訊    us:使用者佔用cpu的時間    sy:核心佔用cpu    ni:使用者進程空間內改變過優先順序佔用的cpu    id:空閑cpu的百分比    wa:當對磁碟進行大量寫時,發現IO等待會佔用很多cpu,如果正常使用佔用比較多cpu,磁碟效能有問題    hi:硬體中斷佔用的cpu,硬體驅動通常是核心中的一個子進程,而不是一個獨立的進程    si:非強制中斷,佔用的cpu百分比,往磁碟寫入資料有個隊列,所佔用的時間    st:虛擬機器佔用物理機cpu時間第四行記憶體資訊  單位kb  total 總記憶體  free 空閑  used 佔用  buff/cache 這裡的緩衝是可以釋放的第五行 swap  total 交換區總量  free 閒置交換區總量  used 使用的交換區總量  avail Mem 總共的可利用記憶體是多少  注意:如果swap分區,被使用,那麼你的記憶體不夠用了
快速鍵預設 3s 重新整理一次,按s修改重新整理時間按空格立即重新整理按大寫的 C 按照cpu佔用排序按大寫的 M 安裝記憶體佔用排序按數字鍵1,顯示每個核心的cpu使用頻率按u: 顯示指定的使用者h:協助
top -p 1  通過進程ID查看單個進程

 

找出系統中佔用系統進程最多的進程

top 後按大寫的P

在linux系統中最多可以使用100%CPU嗎

理論上:如果你是4核心的cpu,你可以運行400%

 

 

lsof命令

-p 進程號,列出指定進程號開啟的檔案-i  條件:列出合格進程

查看某個進程讀了那些檔案,調用了那些東西呢,一般用於木馬進程

lsof -p 進程ID

查看連接埠,或者看駭客開啟的後門連接埠是哪個進程在使用

lsof -i:22

 

 

pstree工具

  • 以樹形圖顯示進程,只顯示進程的名字,且相同進程合并顯示
  • pstree -p顯示進程ID

 

前台進程:是在終端中啟動並執行命令,那麼終端就是進程的控制終端一旦這個終端關閉,這個進程也隨之消失後台進程,也叫守護進程,是運行在背景一種特殊進程,不受終端控制,不需要終端的互動,linux的大多數的伺服器就是用守護進程來實現的, 比如web伺服器httpd等

 

前台後台進程切換

&用在一個命令的最後,可以把這個命令放到後台執行

 

 ctrl + z可以將一個正在前台執行的程式放到後台

jobs查看當前有多少在後台啟動並執行進程,這是一個作業控制命令

 

 fg命令將後台中的命令調到前台繼續運行,

如果後台中有多個命令可以用 fg %jobnumber將選中的命令調出,

%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid) 

 

bg命令將一個在後台中暫停進程,變成繼續執行,

用法同上

 

 

關閉進程

kill [訊號] [進程ID]kill -l        -->列出指定的訊號

 

 常用的訊號

訊號編號  訊號名                      解釋1        SIGHUP        重新載入配置2        SIGINT         鍵盤中斷ctrl+c3        SIGQUIT        退出9        SIGKILL        強制退出15        SIGTERM        終止(正常結束),預設訊號18        SIGCONT        繼續19        SIGSTOP        停止20        SIGTSTP        暫停 ctrl+z

killall 和 pkill 命令通過指定名字來殺死進程

killall sshdpkill sshd

 

 

 

進程優先順序管理

優先順序的取值範圍(-20,19),越小優先順序越高,預設優先順序是0
nice -n

 

nice -n 5 vim a.txtctrl+z掛起進程

查看進程的PID查看PID:ps -axu | grep vim

 

 根據PID查看進程的資訊

可以發現NI優先值是5

 

 

 

 

實戰:使用screen後台實行執行命令備份命令
情境:公司晚上需要備份1t資料,我再xshell上直接執行備份指令碼back.sh可以嗎?
或直接運行back.sh&放到後台運行可以嗎?
當關了xshell,back.sh&還在後台執行嗎?

xshell長時間串連,如果本網偶爾斷開或者xshell不小心關閉,都會讓後台啟動並執行備份命令停止啟動並執行正確做法使用:screen
安裝yum install screen

 

 用法:

執行screen,將開啟一個全新的會話
運行你的備份任務,或者vim a.txt命令
這時可以鍵入快速鍵ctrl+a+d  
就已經分離出一個單獨的會話

screen -ls 查看已經建立的會話id
screen -r 25448 通過PID 重新串連會話
screen -S text 指定會話名稱
當不想使用screen會話了,exit退出

 

 

 

 

 

 

  

linux 系統進程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.