相關資訊
本類常用軟件
-
福建農村信用社手機銀行客戶端下載下載量:584204
-
Windows優化大師下載量:416898
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農村信用社手機銀行客戶端下載下載量:365699
-
快播手機版下載量:325855
在windows中分為進程和線程,而這些概念在Linux中同樣適用,而所謂的進程process既是資源分配的單位,一個進程的發起想要調度CPU進行執行則需要或得CPU的時間片,同樣在獲得CUP的時間片后,還有相應的優先級,從而才能有序的執行。在進程的發起后狀態分為:Running運行、Ready就緒、Sleep睡眠、Stop停止、Zomebie僵死;這些狀態的意思顧名思義相信大家都可以理解。
在windows中我們通常可以調出資源管理器查看當前執行的進程,而在Linux中有一個進程樹(pstree)可以詳細的形象的展示出Linux中的進程關系。
1、顯示當前系統上運行的前臺進程可以用命令:ps
而在這里的一些參數一部分是按照BSD的格式進行使用的,也有一部分是按照sysV格式的顯示
參數:aux:顯示當前系統上的所有進程(也是我們經常用的組合) #ps aux
x:顯示出跟終端不相關的進程
a:顯示出跟終端相關的進程 #ps au:以進程發起的用戶為開頭顯示
-e:顯示所有進程
-f:顯示詳細信息 通常使用-ef組合 #ps -ef
-ejH=axjf:按照進程的父子關系進行自動縮進
o:依照用戶的設置格式進行顯示 #ps axo pid,tty,cmd,stat
2、有時服務器運行著大量的進程時,需要查找到某個進程,并查看其信息時則用到:
pgrep:查找進程
參數:-U:根據用戶的UID查找其發起的相應進程
-G:根據用戶的GID查找其發起的相應進程
-t:查找跟終端相關的進程
-P:查找父進程為某一個子進程
pidof:查找某些進程的id號
例如:#pidof bash
3、在進程信息顯示中,可以看到STAT中有很多的符號,其意義
S:可中斷的睡眠狀態
R:運行態
D:不可中斷的睡眠態
T:停止態
Z:僵死態
<:高優先級的進程
s:會話進程的發起者
N:低優先級的進程
l:多線程的進程
+:前臺進程
通過分析這些進程的狀態,我們可以根據實際情況對其采取想要的操作,以達到對服務器的調優以及對某些服務的重置。
4、說到對這些進程進行操作,這就得提到信號(Signal)
#kill -l:查看所有的信號,其中前面的數字為信號的代號,后面則為名字
經常用到的幾個信號:
1)SIGHUP:通知某一個進程重讀自己的配置文件卻不用重啟
2)SIGINT:類似于ctrl+c取消
9)SIGKILL:殺死某進程
15)SIGTERM:終止
18)SIGCONT:繼續
19)SIGSTOP:停止
使用kill來發送信號:
kill -SIGNAL_NU PID #kill -15 2887 對進程ID為2887的進程發出終止信號
kill -SIGNAL_NU PROCESS #kill -15 httpd 終止httpd服務
5、在上面提到一個進程的發起到執行是安裝其優先級的高低來進行執行順序的,所以在說一說進程的優先級
優先級分為:動態優先級(進程的發起時內核自動計算的)、靜態優先級(可手工調整)
通常情況下:I/O 設備的優先級要高,但是獲取的CPU時間片短,當你鍵入一個字母或移動下鼠標時,CPU就會立即進行相應,并執行,這就是因為I/O設備的優先級較高
多媒體之類的這些進程優先級就較低,但是獲取的CPU時間片長,因為一個音樂或電影的打開,一般就會一直執行下去。而這些進程的優先級大部分都是系統內核自動計算的。
靜態優先級的調整用過調整nice值來進行調整的,而普通用戶在調整一個進程的優先級時,只能在進程優先級的基礎上將其調低,而不能將其調高,管理員root則沒有限制;nice值:-20---19分別對應優先級100---139,nice值越小,優先級值也越低,從而其優先級越高,而在一個進程的發起時其nice值一般默認的都是0;
nice:在進程啟動時直接賦予一個值
格式:nice -n NU COMMAND
例如:#nice -n 15 ftp 192.168.0.254
查看其nice值
renice:在進程啟動后進行nice值的修改
格式:renice # PID
例如:#renice 2 3133
6、后臺狀態
當一個命令執行的時間較長,例如我們拷貝一個大文件,而此時他沒有執行結束,我們是不能進行其他的操作的,但是我們又需要進行其他的操作,這時就可以將它移至后臺: 查看后臺任務:jobs
從前臺轉移到后臺:ctrl+z 俗稱掛起,在后臺停止了,并不繼續執行
從后臺轉移到前臺:fg 默認調回的是有加號的
從后臺轉移到前臺一個特定的進程:fg %NU
將后臺的某個進程讓它繼續執行:bg %nu
使一個進程和一個中斷沒有關系:nohup COMMAND
啟動命令時直接將其送到后臺:startx &
結束后臺的某個進程:kill %NU
在結束后臺任務2時,進程狀態由Stopped變到Terminated最后結束,后臺只剩下一個任務了。