Linux程序管理和系統監視
Linux程序管理和系統監視
基本概念
- 程序 程序號 PID
- 作業
前臺作業:運行於前臺,使用者對其進行互動操作
後臺作業:運行於後臺,不接收輸入,但向終端輸出結果 - 程序狀態:就緒、執行、等待
- 程序的優先順序
啟動程序與作業
- 啟動方式
- 手工啟動:輸入shell命令
前臺:commend+回車
後臺:commend &如:gedit test &
,會隱藏在後臺,可用jobs
命令檢視。 - 排程啟動:按使用者要求的時間或方式執行特定程序 at batch cron
- 手工啟動:輸入shell命令
- 作業的前後臺切換 bg fg
vi test
ctrl+z 掛起vi
fg + 作業號,切換到前臺執行
bg+ 作業號,切換到後臺執行
常用命令
jobs 顯示當前所有作業
jobs命令輸出中的+和- ,通過jobs命令輸出是可以看到後面有加號和減號,帶加號的作業會被當做預設作業,當我們不指定作業號時,該作業被當做作業命令的操作物件。而帶減號的是下一個預設作業。
-l 同時顯示程序號和作業號
ps 顯示程序的狀態
ps -aux
a 顯示當前終端所有程序
u 顯示程序的詳細資訊,包括CPU、記憶體使用率
x 顯示後臺程序的資訊
kill 程序號 ,終止正在執行的程序
-9 強行終止
[email protected]:~# kill -9 2354 [3]+ Killed vim test3
top檢視系統程序
按q退出
free命令
free 顯示記憶體和交換分割槽的相關資訊
free -m 以MB為單位顯示,預設以KB為單位顯示
free -t 增加總和資訊
who 檢視當前已登入的所有使用者
whoami 顯示當前登入的使用者名稱
w 顯示誰登入系統並且在做什麼
解決上面板不能使用的辦法(redhat):
ps -aux | grep panel
找到gnome-panel的程序號
kill 程序號(如3287)
程序排程
at、batch排程:偶爾進行的程序,在指定時刻執行指定的命令序列
cron排程:特定時間重複執行的程序
at排程
at 20:55 10282018
at> wall Happy new year
at> (輸入ctrl+D 結束 )
atq 等價於 at -l 顯示待執行佇列中的作業
atrm (作業編號) 等價於 at -d(作業編號) 刪除佇列中的作業
在任何情況下,超級使用者都能夠使用這個命令。對於其他使用者來說,是否能夠使用就取決於兩個文件:/etc/at.allow和/etc/at.deny。預設情況下只有at.deny檔案,裡面為空,at.allow需要自己建立。
cron 排程
cron服務提供crontab命令來設定cron服務的
crontab [-u user] -e -l -r
其中:
-u 使用者名稱。
-e 編輯crontab檔案,預設用vi編輯器。
-l 列出crontab檔案中的內容。
-r 刪除crontab檔案。
c r o n t a b檔案每個條目中各個域的意義和格式。
# m h dom mon dow command
下面就是這些域:
第1列分鐘0~59
第2列小時00~23(00表示子夜)
第3列日01~31
第4列月01~12
第5列星期0~7(0和7表示星期天)
第6列要執行的命令
如果使用者不需要指定其中的幾項,就可以用*代替,可以代替任何字元,可以是任何時間
, 表示間隔的多個不連續時間點,例如1,3,5
-表示一個連續的時間範圍,例如1-3
/ 表示間隔的時間頻率,例如/2 每2個小時 */5
crontab配置檔案所在目錄:/var/spool/cron,其檔名和使用者名稱同名,自己可用命令檢視該檔案 crontab -l 顯示crontab配置檔案
cron程序自動在後臺執行,檢測crontab配置檔案,定期執行cron排程工作
crontab配置檔案的編輯工作由crontab -e 完成
uname 顯示作業系統的資訊
-a 顯示全部資訊
-r 顯示當前系統的核心版本
uptime 檢視系統當前時間、執行多長時間、多少使用者登入、伺服器負荷情況。
~$ uptime
04:45:45 up 1:47, 1 user, load average: 0.00, 0.01, 0.00