[RHCE033]unit11 調查和管理進程

一、調查進程
PID:進程ID用於標識進程
顯示進程:
ps命令:默認顯示信息非常簡單僅僅顯示當前終端進程
參數:
a----包括所有終端的進程
x----包括不屬於任何終端的進程
u----顯示出進程的擁有人
f----顯示進程的出處
o----顯示定製信息
pstree:顯示進程樹
ps是靜態顯示進程信息
top則是動態的顯示進程信息類似windows中的進程管理器
pgrep:顯示指定ps信息
-U:顯示一個用戶所用的全部進程
-G:顯示一個組所用的全部進程
pidof:顯示一個程序所用的全部進程
二、管理進程
關閉進程:
kill [-signal] pid:正常殺死某進程(通過pid來指定具體進程)
默認信號爲15
kill -9 pid:強制殺死某進程----會產生大量的垃圾
信號1:重新讀取配置文件,可以不重啓進程
通過man 7 signal來查看信號代碼、信號數字以及它們的具體含義
killall [-signal] comm:根據名字來殺死隸屬於一個程序的全部進程
pkill [-signal] pattern:pkill既可以接Pid又可以接程序名稱
進程的優先級:
查看進程的優先級:ps -o comm,nice
進程優先級是使用nice來表示的,優先級取值範圍-20到19,數字越小優先級越高。缺省值爲0。
修改進程優先級:
程序運行前:nice -n 5 command
程序運行後:renice 5 PID
注意:僅root用戶能把優先級調高(也就是把優先級的值調低),普通用戶只能把優先級調低(也就是把優先級的值調高)。
gnome-system-monitor:進程管理的圖形界面顯示(top的圖形顯示)
工作控制:
&:將一個進程送入後臺運行(運行程序前)
比如:firefox &
後臺運行firefox程序
使用命令jobs來查看後臺運行程序
狀態:
stopped:暫停狀態
done:完成
running:正在後臺運行
使用命令fg將所有後臺程序(包括暫停的)弄到前臺
crtl+z:程序運行之後掛起(暫停程序)----等於發送信號19(與信號17一樣)給系統
crtl+c:中斷程序
kill [-signal] [%jobnum]:終止某個後臺程序(ctrl+c只能中斷前臺程序或者默認後臺程序,無法隨意中斷,而kill可以根據jobnum來隨意
中斷特定後臺程序,而且ctrl+c是強制中斷會產生大量的垃圾文件,kill可以根據信號的不同執行不同的中斷請求)
bg [%jobnum]:激活後臺暫停的工作(由jobnum來指定需要激活的工作,與fg不同的是隻在後臺激活)
fg [%jobnum]:將後臺暫停的工作激活並放入到前臺。
定製計劃任務:
一次工作:at,僅此一次
格式:at time回車然後輸入你想要在什麼時候執行的命令或腳本(當執行多個命令時最好先將其寫成腳本然後在特定時間執行該腳本)
at -l:顯示計劃任務列表
at -c jobnum:顯示某指定任務細節
at -d jobnum:刪除某指定任務
at無法編輯只能刪除重做
週期工作:crontab,循環多次
crontab -e:沒有時創建一個週期計劃,有時是編輯一個存在的週期計劃
crontab計劃文件的格式:分 時 日 月 周
分:0-59
時:0-23
日:0-31
月:0-12
周:0-6(0=Sunday)
*:匹配所有
crontab能自動識別腳本或命令語法錯誤。
-:表示範圍
,:表示一個單一特定的時間或日期
/n:表示每隔n個單位間隔
注意:如果你寫完計劃任務但是不湊巧時間過了執行計劃任務那麼他將延後下一輪執行
組命令:
():用括號將執行的多個命令括起來這樣就成了一組命令。
退出狀態:
$?:用於查看前面進程退出時的狀態,成功(值爲0)或失敗(值爲若干,範圍1-255),因爲成功只有一種原因而失敗卻有n種原因。
命令連接符號:
&&:and(且)
格式:command1 && command2
意義:如果command1成功執行command2,如果command1不成功則不執行command2
||:or(或)
格式:command1 || command2
意義:如果command1成功則不執行command2,如果command1不成功執行command2
測試命令:
test:
實例:
A=123
B=456
test "$A" = "$B"
echo $?
1
返回值1則是測試失敗
返回者0則是測試成功
返回值使用echo $?查看
test還可以測試文件的屬性
比如測試一個文件是否是可執行文件,或者測試一個文件是否是目錄文件等等
if函數的應用:
if.....
elif....
else....
fi
解釋:如果滿足條件則執行elif中的內容如果不滿足則執行else中的內容,fi表示if函數結束。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章