1,什麼是進程?
進程是正在執行的一個程序或者命令,每一個進程都是一個運行實體,都有自己的地址空間,並佔用一定的系統資源。
2,進程管理作用?
判斷服務器健康狀態
產看系統中所有的進程
殺死進程
查看進程命令
ps
命令行 | 說明 |
---|---|
ps -aux | 查看系統中所有進程,BSD操作系統格式 |
ps a | 顯示現行終端機下的所有程序,包括其他用戶的程序 |
ps u | 展示進程用戶信息 |
ps x | 顯示所有程序,不以終端機來區分 |
ps -le | 查看系統所有進程 linux標準命令格式 |
ps -A | 顯示所有程序 |
命令行結果說明
名詞 | 說明 |
---|---|
USER | 該進程是由哪個用戶產生的 |
PID | 進程ID號 |
%CPU | 該進程佔用CPU百分比 |
%MEM | 該進程佔用物理內存百分比 |
VSZ | 該進程佔用虛擬內存大小 KB |
RSS | 該進程佔用實際物理內存大小 KB |
TTY | 該進程是在哪個終端運行的,其中tty1-tty7 代表本地終端,tty1-tty6 本地字符界面終端,tty7 圖形終端,pts/0-256 虛擬終端即最多支持256個遠程登錄 |
STAT | 當前進程狀態,S:睡眠中止 s:包含子進程 R:運行 T:停止 Z:僵死 |
TIME | 進程執行起到現在總的CPU佔用時間 |
START | 進程啓動時間 |
COMMAND | 產生此進程的命令名 |
top
命令行 | 說明 |
---|---|
top 【-d 秒數】 | 指定top命令每個幾秒更新一次,默認是3秒 |
😛 | shift+P 按照CPU排序 |
:M | shift+M 按照內存排序 |
:N | shift+N 按照PID排序 |
q: | 退出top |
?或者h: | 顯示幫助 |
top 命令結果
第一行信息爲任務信息隊列
load avaerage:0.00 0.00 0.00 分別表示 系統在之前1分鐘,5分鐘,15分鐘的平均負載,如果是單核則 一般認爲小於1時,負載較小,大於1時負載較大
第二行爲 CPU 信息
%Cpu(s):
0.1us:用戶模式佔用的CPU百分比
0.1sy:系統模式佔用的CPU百分比
0.1ni:改變過優先級的用戶進程佔用的CPU百分比
1.1id:空閒CPU的CPU百分比
0.1wa:等待輸入/輸出的進程的佔用CPU百分比
0.1hi:硬中斷請求服務佔用的CPU百分比
0.1si:軟中斷請求服務佔用的CPU百分比
0.1st:虛擬時間百分比,即當有虛擬機時候,虛擬CPU等待
實際CPU的時間百分比
第三行爲 物理內存 信息
第四行爲 交換分區(swap)信息
pstree
查看進程樹,即用於查看進程樹之間的關係,即哪個進程是父進程,哪個是子進程,可以清楚的看出來是誰創建了誰
命令行 | 說明 |
---|---|
pstree -A | 各進程之間的連接以ASCII 碼字符來連接 |
pstree -U | 各進程之間的連接以utf8字符來連接 |
pstree -p | 同時列出各個進程pid |
pstree -u | 同時列出每個進程所屬用戶 |
終止進程
kill
命令行 | 說明 |
---|---|
kill pid | 終止進程 |
kill -9 pid | 強制終止 |
kill -l pid | 重啓進程 |
killall 進程名 | 終止一類進程 後面跟進程名 |
pkill -t 終端號 | 剔除用戶 |
w | 查看終端用戶 |
工作管理
jobs -l
顯示後臺工作的ID
+號代表最近一個放入後臺的工作,也是工作恢復時候,默認恢復的工作
-號 代表倒數第二個放入後臺的工作
Ctr+Z 代表 將工作放入後臺 暫停狀態
& 代表 將工作放入後臺運行
命令行 | 說明 |
---|---|
fg % 工作號 | 將後臺任務恢復到前臺 |
bg % 工作號 | 將前臺任務恢復到後臺 |
後臺恢復的執行命令,是不能和前臺有交互的,否則不能恢復到後臺執行
系統資源查看
free查看內存使用狀態
命令行 | 說明 |
---|---|
free [-b/-k/-m/-g] | 以字節/KB/MB/GB爲單位展示 |
cat /proc/cpuinfo | 查看CPU信 |
dmesg | grep cpu | 查看CPU信 |
uptime | 顯示系統啓動時間和平均負載,也就是top命令第一行,w命令也可以看到 |
uname [-a|-r|-s] | 查看系統與內核信息,-a查看所有 -r 內核版本 -s 內核名稱 |
file /bin/ls | 查看系統的位數 |
lsb_release -a | 查看系統髮型版本 |
lsof [-c 字符串|-u 用戶名|-p 進程ID] | 列出進程打開或者使用的文件 -c :列出文件開頭的進程文件 -u:列出某個用戶進程文件 -p:列出某個進程ID的文件 |
緩存和緩衝區別?
緩存(cache)是用來加速數據從硬盤中讀取的,緩衝(buffer)是用來加速數據寫入硬盤的
系統定時任務
crond 服務管理與訪問控制
crond 一般是默認啓動的
service crond restart
chkconfig crond on
crontab 用戶的crontab設置
命令行 | 說明 |
---|---|
crontab -e | 編輯crontab定時任務 |
crontab -l | 查詢contab定時任務 |
crontab -r | 刪除當前用戶的所有的crontab任務 |
* * * * * php /mnt/d/CODE/MY/EighthWorld/artisan schedule:run >> /home/fantasy/error.log 2>&1
第一個*:一個小時的第幾分鐘 0-59
第二個*:一天中的第幾小時 0-23
第三個*:一個月中的第幾天 1-31
第四個*:一年中的第幾月 1-12
第五個*:一週的星期幾 0-7(0和7都代表週日)
符號 | 說明 |
---|---|
* | 代表任何時間,比如一個 * 代表一個小時中的每分鐘都執行一次的意思 |
, | 代表不連續的時間,比如 0 8,12,16 * * * 代表每天對的8點0分,12點0分,16點0分執行 |
- | 代表連續的時間範圍,比如 0 5 * * 1-6,代表週一到週六每天5點0分執行 |
*/n | 代表每隔多久執行一次,比如 */10 * * * * ,代表每隔10分鐘執行一次 |