linux中進(jìn)程和計劃任務(wù)管理
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的肥西網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!1.?程序和進(jìn)程的關(guān)系
程序:保存在硬盤、光盤等介質(zhì)中的可執(zhí)行代碼和數(shù)據(jù);靜態(tài)保存的代碼
進(jìn)程:在 CPU 及內(nèi)存中運(yùn)行的程序代碼;動態(tài)執(zhí)行的代碼;父、子進(jìn)程:每個進(jìn)程可以創(chuàng)建一個或多個進(jìn)程
基本命令
1):ps命令(processes statistc):查看靜態(tài)的進(jìn)程統(tǒng)計信息
ps? -aux:以簡單列表的形式顯示出進(jìn)程信息。
a 選項(xiàng)表示查看所有進(jìn)程信息
u 選項(xiàng)表示顯示進(jìn)程所屬的用戶信息
x 選項(xiàng)表示顯示默認(rèn)信息以外的信息?
ps? -elf :以長格式顯示出系統(tǒng)中的進(jìn)程信息,并且包含更豐富的內(nèi)容。
e參數(shù)代表全部進(jìn)程
f參數(shù)代表全格式
l參數(shù)代表長格式顯示
PID:運(yùn)行著的進(jìn)程的ID;
TTY:命令所運(yùn)行的位置
TIME:運(yùn)行著的該命令所占用的CPU處理時間
CMD:該進(jìn)程所運(yùn)行的命令
2):top命令:以全屏交互式的界面顯示進(jìn)程排名,默認(rèn)情況三秒刷新一次,默認(rèn)以cup占用率排序。
常用選項(xiàng):-d:指定刷新的時間,單位秒
? ? ? ? ? ? ? ? -b:以批量處理模式操作,一般與-n同時使用
? ? ? ? ? ? ? ? -n:指定循壞顯示的次數(shù)
? ? ? ? ? ? ? ? -u:指定用戶名
? ? ? ? ? ? ? ? -p:制定進(jìn)程號
PID:進(jìn)程ID
USER:運(yùn)行進(jìn)程的用戶
PR:系統(tǒng)默認(rèn)的優(yōu)先級,PR總是比NI大20
NI:用戶可以修改的優(yōu)先級。范圍從-20~19 ,數(shù)字越小值越大。當(dāng)進(jìn)程已經(jīng)運(yùn)行時,可以使用 renice 命令修改其優(yōu)先級:renice? -n? ?-20? PID? ?。當(dāng)進(jìn)程沒運(yùn)行時,可以使用 nice -n 20? httpd? 開啟進(jìn)程的時候指定優(yōu)先級
VIRT:虛擬內(nèi)存
RES: 當(dāng)前進(jìn)程使用的內(nèi)存
SHR:共享內(nèi)存
S : 狀態(tài) S(sleep) 或者 R(running)
%CPU:進(jìn)程所占CPU的比重
%MEM: 進(jìn)程所占內(nèi)存的比重
Time : 進(jìn)程運(yùn)行的時間
COMMAND: 進(jìn)程的指令
S狀態(tài)的分類:
S(大寫):可中斷休眠進(jìn)程
D:不可中斷休眠進(jìn)程
s:父進(jìn)程
<:優(yōu)先級高
R:正在運(yùn)行的進(jìn)程
l:多線性進(jìn)程
N:優(yōu)先級低
Z:僵尸進(jìn)程
+:前臺進(jìn)程
注意:cpu占用率過高時,不應(yīng)直接用top查看,可以將信息存入一個文件內(nèi)查看,以免cup占用率過高導(dǎo)致崩潰。
3):pgrep命令:根據(jù)特定條件查詢進(jìn)程PID信息
常用選項(xiàng):
-l:顯示進(jìn)程名
-U:指定特定用戶
-t:指定終端
4):pstree命令:以樹形結(jié)構(gòu)列出進(jìn)程信息
常用選項(xiàng):
-a:顯示完整信息
-u:列出對應(yīng)的用戶名
-p:列出對應(yīng)的PID號
格式:pstree –aup?;pstree –ap?用戶
2.進(jìn)程的啟動方式
手工啟動
前臺啟動(foreground,前臺):用戶輸入命令,直接執(zhí)行程序
后臺啟動(background,后臺):在命令行尾加入“&”符號
[root@localhost ~]#?cp /dev/cdrom mycd.iso &
[1] 28454 (輸出信息中包括后臺任務(wù)序號、PID號)
調(diào)度啟動
使用 at 命令,設(shè)置一次性計劃任務(wù);
使用crontab命令,設(shè)置周期性計劃任務(wù)
3.進(jìn)程的前后臺調(diào)度
1):Ctrl+Z?組合鍵:將當(dāng)前進(jìn)程掛起,即調(diào)入后臺并停止執(zhí)行
2):jobs?命令:查看處于后臺的任務(wù)列表 ;格式:jobs -l
3):fg?命令:將后臺進(jìn)程恢復(fù)到前臺運(yùn)行,可指定任務(wù)序號
4):bg命令:將后臺掛起的進(jìn)程繼續(xù)在后臺執(zhí)行?
4.終止進(jìn)程
Ctrl+C?組合鍵:中斷正在執(zhí)行的命令
kill、killall?命令
kill用于終止指定PID號的進(jìn)程
killall用于終止指定名稱的所有進(jìn)程
-9選項(xiàng)用于強(qiáng)制終止
pkill命令:根據(jù)特定條件終止相應(yīng)的進(jìn)程
常用命令選項(xiàng):
-U:根據(jù)進(jìn)程所屬的用戶名終止相應(yīng)進(jìn)程;
-t:根據(jù)進(jìn)程所在的終端終止相應(yīng)進(jìn)程
5.計劃任務(wù)管理
1):at命令:一次性計劃任務(wù),前提是對應(yīng)的系統(tǒng)服務(wù)atd必須已經(jīng)運(yùn)行;計劃任務(wù)執(zhí)行任務(wù)的時間必須安排在當(dāng)前系統(tǒng)時間后。
服務(wù)腳本名稱:/etc/init.d/atd;格式:at? [HH:MM]? [yyyy-mm-dd]
使用at命令,設(shè)置一次性任務(wù)計劃
設(shè)置格式:at 小時:分鐘 ?? 年-月-日??? (設(shè)置當(dāng)天的任務(wù)不可加日期)
基本操作 :
ctrl+D 保存退出
atq 查詢現(xiàn)有的一次性計劃
atrm [任務(wù)序號] 刪除第幾項(xiàng)任務(wù)
2):crontab命令:按照預(yù)先設(shè)置的時間周期(分鐘、小時、天……)重復(fù)執(zhí)行用戶指定的命令操作;屬于周期性計劃任務(wù);服務(wù)腳本名稱:/etc/init.d/crond
主要設(shè)置文件
全局配置文件,位于文件:/etc/crontab
系統(tǒng)默認(rèn)的設(shè)置,位于目錄:/etc/cron.*/
用戶定義的設(shè)置,位于文件:/var/spool/cron/用戶名
3):管理cron計劃任務(wù)
編輯計劃任務(wù):crontab? -e? [-u??用戶名]
查看計劃任務(wù):crontab? -I? [-u??用戶名
刪除計劃任務(wù):crontab? -r? [-u??用戶名]? ? (刪除時會將所有計劃性任務(wù)刪除,如果要刪除其中一條任務(wù),需要用crontab -e 進(jìn)入配置文件,用dd將要刪除的任務(wù)刪除即可)
注意:root用戶可以管理指定用戶的計劃任務(wù);普通用戶只能管理自己的計劃任務(wù)
6.?時間數(shù)值的特殊表示方法
*?????? ?? 表示該范圍內(nèi)的任意時間
,??? ???表示間隔的多個不連續(xù)時間點(diǎn)
-??????? ?? 表示一個連續(xù)的時間范圍
/??????? ?? 指定間隔的時間頻率
舉個例子
0? 17? *? *? 1-5????????? 周一到周五每天17:00
30? 8? *? *? 1,3,5?????? 每周一、三、五的8點(diǎn)30分
0? 8-18/2? *? *? *????? 8點(diǎn)到18點(diǎn)之間每2小時
0? *? */3? *? *??????????? 每3天
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。