技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Linux常用的進(jìn)程管理和查看指令

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-08-02 00:00┆點(diǎn)擊:

  &背景工作做符

  ctrl+ z 暫停

  ctrl + c 停止

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

  fg %jobnumber 將背景工作拿到前景執(zhí)行

  bg %jobnumber 讓工作在背景的狀態(tài)變成運(yùn)作中(被ctrl暫停在背景的工作)

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

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

  常用的kill的signal

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

  -2 與ctrl的的i一樣

  -9 立即強(qiáng)制停止一個(gè)工作( .filename.swap 文件會(huì)被遺在系統(tǒng)中)

  -15 正常停止一個(gè)工作

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

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

  上面的求導(dǎo)背景中去的工作都是你登陸是派生出來的子孫進(jìn)程,在退出登陸后勁不能繼續(xù)執(zhí)行了

  脫機(jī)管理

  如果工作需要很長(zhǎng)時(shí)間,你不能直到它執(zhí)行完才下機(jī),可以用at來處理, at是將工作放置到系統(tǒng)背景下,而與終端機(jī)無(wú)關(guān)

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

  程序管理

  找出最耗系統(tǒng)的程序

  找出內(nèi)存中又問題的程序

  設(shè)置程序的優(yōu)先級(jí)

  程序的觀察

  ps 將某個(gè)時(shí)間點(diǎn)得進(jìn)程運(yùn)作情況獲取下來

  ps 不加-a 或者-A參數(shù)僅僅列出與自己相關(guān)的process信息

  aux 觀察系統(tǒng)中所有進(jìn)程的數(shù)據(jù)

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

  -a 不與terminal有關(guān)的所有程序

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

  -l 列出叫詳細(xì)的信息,包括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 : 代表這個(gè)程序的旗標(biāo)(flag) ,說明這個(gè)程序的總結(jié)權(quán)限

  4代表root

  S: 代表程序的狀態(tài)

  R(Running)

  S(sleep)

  T(stop)

  Z(Zombie)

  C: 代表Cup的使用率

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

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

  WCHAN : 表示程序是否在運(yùn)行中 - 表示正在運(yùn)行

  TIME+: 使用的cpu累加時(shí)間

  CMD : 觸發(fā)進(jìn)程的命令

  RSS : 進(jìn)程占用固定內(nèi)存的大小

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

  top: 動(dòng)態(tài)觀察程序的變化

  -d 數(shù)字 動(dòng)態(tài)更新的時(shí)間差

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

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

  -p 進(jìn)程的pid : 觀察指定pid的進(jìn)程

  top在執(zhí)行過程中可以使用按鍵

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

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

  M: 以Memory的使用排序

  N: 以pid來排序

  T : 以該process占用的cpu積累時(shí)間排序

  r : 給PID重新定一個(gè)nice值 (按下r 然后輸入要修改的pid號(hào)碼)

  1 : 切換查看不同cpu的負(fù)載率

  q : 離開

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

  pstree

  -u : 同時(shí)列出每個(gè)process的PID

  -p : 同時(shí)列出每個(gè)process的所屬賬號(hào)

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

  priority 和nice

  PRI值是有核心動(dòng)態(tài)調(diào)整的用戶無(wú)法直接調(diào)整PRI的值;如果用戶想調(diào)整PRI 的值,就得透過nice的值,一般來說,PRI和NI 的相關(guān)性如下

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

  不過,如果原本餓PRI得值是50 ,并不是我們給一個(gè)nice=5 就會(huì)讓PRI變成55 ,因?yàn)镻RI是系統(tǒng)動(dòng)態(tài)決定的,nice的值可以影響PRI,但最終的PRI值仍是要經(jīng)過系統(tǒng)分析后才決定的;(nice的值有正負(fù) 鄭表示降低優(yōu)先級(jí),符表示增加優(yōu)先級(jí))

  一般用戶只可以調(diào)整自己的process的nice值,且只能調(diào)高nice的值

  調(diào)整process的優(yōu)先級(jí)就是調(diào)整process的nice值

  如何調(diào)整某個(gè)程序的nice值

  1一開始執(zhí)行程序就給予一個(gè)特定的nice值: 用nice指令

  nice -n 數(shù)值 命令(啟動(dòng)程序的命令)

  -n 后面接一個(gè)數(shù)值 (-20~ 19)

  2已經(jīng)存在的進(jìn)程的nice重新調(diào)整(或者top) : renice

  renice 數(shù)值(需要調(diào)整到餓nice值) PID(調(diào)整的process的PID)

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

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

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

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

  uname : 查看系統(tǒng)的核心相關(guān)信息

  -a : all 所有

  -s : 系統(tǒng)核心名(Linux)

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

  -p : cpu類型 ( x86_64 )

  -i : 硬件平臺(tái) (x86_64)

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

  uptime : 觀察系統(tǒng)啟動(dòng)時(shí)間與負(fù)載工作 (其實(shí)酒紅色顯示出top命令的第一行)

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

  netstat : 追蹤網(wǎng)絡(luò)或插槽文件

  -a : 所有

  -t : 列出tcp網(wǎng)絡(luò)封包的數(shù)據(jù)

  -u : 列出UDP蒸包的數(shù)據(jù)

  -l : 列出目前正在監(jiān)聽的服務(wù)

  -p 顯示PID

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

  ------第一部分----相關(guān)字段意義----------

  proto : 網(wǎng)絡(luò)封包協(xié)議 ,主要為tcp何udp

  Recv-Q : 由非遠(yuǎn)程主機(jī)鏈接到此socket的復(fù)制的中bytes數(shù)

  Send-Q : 非遠(yuǎn)程主機(jī)傳送過來的acknowledged 總bytes數(shù)

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

  Foreign Adresses :遠(yuǎn)程主機(jī)的IP:Port情況

  state : 聯(lián)機(jī)狀態(tài) ,主要有建立(ESTABLISHED) 和監(jiān)聽(LISTEN)

  /proc/* 代表的意義

  進(jìn)程都是在內(nèi)存中的,而內(nèi)存當(dāng)中的數(shù)據(jù)有都是寫到/proc/*這個(gè)目錄下的,所以我們可以直接觀察/proc這個(gè)目錄當(dāng)中的檔案

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

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

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

  example : fuser -uvm /proc ==>查看偶遇多少程序在進(jìn)行/proc文件系統(tǒng)的存取

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

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

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

  pidof : 列出某個(gè)正在執(zhí)行的程序的pid

  pidof [-sx] program_name

  -s : 僅列出一個(gè)PID而不是列出所有

  -x : 同時(shí)列出program name 可能的PPID 那個(gè)程序的PID