萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux常用的進程管理和查看指令

Linux常用的進程管理和查看指令

   &背景工作做符

  ctrl+ z 暫停

  ctrl + c 停止

  jobs [-l(list) , r(running jobs) ,-s(stop jobs)] 觀察背景工作的狀態

  fg %jobnumber 將背景工作拿到前景執行

  bg %jobnumber 讓工作在背景的狀態變成運作中(被ctrl暫停在背景的工作)

  =========================================================

  kill -l ===>列出q能夠使用的signal有哪些

  常用的kill的signal

  -1 重新讀取一次參數的排位置文件(類似reload)

  -2 與ctrl的的i一樣

  -9 立即強制停止一個工作( .filename.swap 文件會被遺在系統中)

  -15 正常停止一個工作

  kill signal PID或者[%jobnumber] (給該進程發送一天命令)

  ====================================

  上面的求導背景中去的工作都是你登陸是派生出來的子孫進程,在退出登陸後勁不能繼續執行了

  脫機管理

  如果工作需要很長時間,你不能直到它執行完才下機,可以用at來處理, at是將工作放置到系統背景下,而與終端機無關

  ====================

  程序管理

  找出最耗系統的程序

  找出內存中又問題的程序

  設置程序的優先級

  程序的觀察

  ps 將某個時間點得進程運作情況獲取下來

  ps 不加-a 或者-A參數僅僅列出與自己相關的process信息

  aux 觀察系統中所有進程的數據

  -A 所有process都顯示出來 與-e一樣

  -a 不與terminal有關的所有程序

  -u 有效使用者(effective user )的相關process

  -l 列出叫詳細的信息,包括pid

  ===============================================

  [root@Sweety /]# ps -l

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

  4 S 0 2685 2683 0 80 0 - 27117 wait pts/1 00:00:00 bash

  4 S 0 3232 1 0 80 0 - 27050 wait pts/1 00:00:00 mysqld_safe

  4 R 0 3647 2685 0 80 0 - 27033 - pts/1 00:00:00 ps

  F : 代表這個程序的旗標(flag) ,說明這個程序的總結權限

  4代表root

  S: 代表程序的狀態

  R(Running)

  S(sleep)

  T(stop)

  Z(Zombie)

  C: 代表Cup的使用率

  ADDR(address) : 是kernel function 指出程序在內存中的那個部分如果是running的程序,一般會顯示 -

  SZ (size) : 程序用掉的內存

  WCHAN : 表示程序是否在運行中 - 表示正在運行

  TIME+: 使用的cpu累加時間

  CMD : 觸發進程的命令

  RSS : 進程占用固定內存的大小

  =================================================

  top: 動態觀察程序的變化

  -d 數字 動態更新的時間差

  -b : 以批次的方式執行top(通常搭配重定向和-n使用)

  -n : 與-b一起使用, 意義是需要執行幾次top 輸出的結果

  -p 進程的pid : 觀察指定pid的進程

  top在執行過程中可以使用按鍵

  ? : 顯示可以在top中輸入的按鍵指令

  P : 以cpu占用率排序(默認)

  M: 以Memory的使用排序

  N: 以pid來排序

  T : 以該process占用的cpu積累時間排序

  r : 給PID重新定一個nice值 (按下r 然後輸入要修改的pid號碼)

  1 : 切換查看不同cpu的負載率

  q : 離開

  =====================================================

  pstree

  -u : 同時列出每個process的PID

  -p : 同時列出每個process的所屬賬號

  ======================================================

  priority 和nice

  PRI值是有核心動態調整的用戶無法直接調整PRI的值;如果用戶想調整PRI 的值,就得透過nice的值,一般來說,PRI和NI 的相關性如下

  PRI(new) = PRI(old) + nice(可以是-20~19之間)

  不過,如果原本餓PRI得值是50 ,並不是我們給一個nice=5 就會讓PRI變成55 ,因為PRI是系統動態決定的,nice的值可以影響PRI,但最終的PRI值仍是要經過系統分析後才決定的;(nice的值有正負 鄭表示降低優先級,符表示增加優先級)

  一般用戶只可以調整自己的process的nice值,且只能調高nice的值

  調整process的優先級就是調整process的nice值

  如何調整某個程序的nice值

  1一開始執行程序就給予一個特定的nice值: 用nice指令

  nice -n 數值 命令(啟動程序的命令)

  -n 後面接一個數值 (-20~ 19)

  2已經存在的進程的nice重新調整(或者top) : renice

  renice 數值(需要調整到餓nice值) PID(調整的process的PID)

  ==========================================================

  我們可以使用top觀察到很多的系統資源和狀態,還有其他的一些工具也可以查看系統資源

  free [-m 以M為單位顯示]

  ===========================================================

  uname : 查看系統的核心相關信息

  -a : all 所有

  -s : 系統核心名(Linux)

  -r : 核心版本 ( 2.6.32-358.el6.x86_64 )

  -p : cpu類型 ( x86_64 )

  -i : 硬件平台 (x86_64)

  ==========================================================

  uptime : 觀察系統啟動時間與負載工作 (其實酒紅色顯示出top命令的第一行)

  ==========================================================

  netstat : 追蹤網絡或插槽文件

  -a : 所有

  -t : 列出tcp網絡封包的數據

  -u : 列出UDP蒸包的數據

  -l : 列出目前正在監聽的服務

  -p 顯示PID

  ==========================================================

  ------第一部分----相關字段意義----------

  proto : 網絡封包協議 ,主要為tcp何udp

  Recv-Q : 由非遠程主機鏈接到此socket的復制的中bytes數

  Send-Q : 非遠程主機傳送過來的acknowledged 總bytes數

  Local Address : 本地端的IP:port情況

  Foreign Adresses :遠程主機的IP:Port情況

  state : 聯機狀態 ,主要有建立(ESTABLISHED) 和監聽(LISTEN)

  /proc/* 代表的意義

  進程都是在內存中的,而內存當中的數據有都是寫到/proc/*這個目錄下的,所以我們可以直接觀察/proc這個目錄當中的檔案

  ==========================================================

  fuser: 找出正在使用該檔案的程序

  有時候我們想知道一個程序在這次啟動過程中到底開啟了多少檔案,可以利用fuser來擦看

  example : fuser -uvm /proc ==>查看偶遇多少程序在進行/proc文件系統的存取

  ===========================================================

  lsof : 列出被程序開啟的檔案文件名

  ===========================================================

  pidof : 列出某個正在執行的程序的pid

  pidof [-sx] program_name

  -s : 僅列出一個PID而不是列出所有

  -x : 同時列出program name 可能的PPID 那個程序的PID

copyright © 萬盛學電腦網 all rights reserved