關(guān)于進(jìn)程管理的內(nèi)容,主要是兩個(gè)部分:進(jìn)程管理命令和計(jì)劃任務(wù)
一、進(jìn)程管理命令
1.w 查看各用戶信息

load average后面三個(gè)值分別表示系統(tǒng)在1、5、15分鐘時(shí)的負(fù)載情況
tty表示用戶從什么終端登錄,tty1表示本地第一個(gè)終端,pts表示遠(yuǎn)程終端
from中如果是:0表示xwindow下啟用的timinal
idle 表示系統(tǒng)空閑時(shí)間
jcpu表示該用戶啟動(dòng)時(shí)所有相關(guān)進(jìn)程執(zhí)行時(shí)消耗的時(shí)間
pcpu:用戶正在執(zhí)行的程序耗費(fèi)的時(shí)間
what:用戶正在執(zhí)行的操作
2.ps 進(jìn)程狀態(tài)查看命令

直接ps查看隸屬于自己的進(jìn)程信息
ps -l或ps -u查看隸屬于自己進(jìn)程的詳細(xì)信息
ps -le查看所有用戶執(zhí)行進(jìn)程的詳情信息
ps -uU 用戶名 查看指定用戶的進(jìn)程信息(ps -le | grep 用戶名)

uid:該進(jìn)程是由哪個(gè)用戶啟動(dòng)的
pid:進(jìn)程ID PPid是父進(jìn)程號(hào)
tty:進(jìn)程啟動(dòng)的終端
stat:進(jìn)程當(dāng)前狀態(tài)(s休眠,d不可中斷休眠,z僵死,t停止,r運(yùn)行)
NI:優(yōu)先級(jí)
time:進(jìn)程自啟動(dòng)以來啟用cpu的總時(shí)間
command/cmd:進(jìn)程命令名
3.pstree 以樹狀結(jié)構(gòu)查看進(jìn)程
4.kill 關(guān)閉進(jìn)程
直接kill 進(jìn)程號(hào) 可以直接關(guān)閉進(jìn)程
kill -l 查看kill所有的信號(hào)(kill -9 pid強(qiáng)行關(guān)閉,kill -1 pid重啟進(jìn)程)
xkill關(guān)閉圖形程序
killall 進(jìn)程名(pid)關(guān)閉所有相關(guān)進(jìn)程
5.
pgrep 進(jìn)程名 查看進(jìn)程號(hào)
/proc目錄是一個(gè)虛擬的文件目錄,它其實(shí)并不是在外存上(也就是硬盤上),而是在內(nèi)存中。每次啟動(dòng)操作系統(tǒng)都動(dòng)態(tài)的生成。里面都是描述進(jìn)程相關(guān)的信息。
6.
pkill 進(jìn)程名 只通過進(jìn)程名結(jié)束進(jìn)程
7.nice與renice 設(shè)置進(jìn)程優(yōu)先級(jí)與改變正在運(yùn)行進(jìn)程優(yōu)先級(jí)
優(yōu)先級(jí)的取值范圍是(-20,19),優(yōu)先級(jí)的值越小,優(yōu)先級(jí)就越高
格式:nice -num command 與renice -num pid
8.nohup

9.進(jìn)程的掛起和恢復(fù)
進(jìn)程掛起 ctrl+z
進(jìn)程終止 ctrl+c
查看被掛起的進(jìn)程或者后臺(tái)進(jìn)程 jobs
掛起進(jìn)程恢復(fù)到前臺(tái)繼續(xù)運(yùn)行 fg num(這個(gè)num就是jobs查看時(shí)前面那個(gè)序號(hào))
掛起進(jìn)程恢復(fù)到后臺(tái)繼續(xù)運(yùn)行 bg num
10.top 進(jìn)程狀態(tài)顯示與進(jìn)程控制(默認(rèn)5秒動(dòng)態(tài)跟新一次)
在top運(yùn)行時(shí)按d:指定刷新的時(shí)間間隔
二、計(jì)劃任務(wù)
那首先就是為什么要有計(jì)劃任務(wù)?我們知道很多時(shí)候某些特定的任務(wù)并不是實(shí)時(shí)去做的,有時(shí)候是在特定時(shí)段,比如深夜的某些時(shí)候來執(zhí)行某段特定的任務(wù)。固計(jì)劃任務(wù)應(yīng)運(yùn)而生。
計(jì)劃任務(wù)一般分為一次性計(jì)劃任務(wù)和周期性計(jì)劃任務(wù)兩種。首先來談第一種的一次性計(jì)劃任務(wù)。一次性計(jì)劃任務(wù)有兩個(gè)需要掌握的命令at和batch。
1.at 安排一個(gè)或多個(gè)命令在特定時(shí)間下運(yùn)行一次
(1)命令時(shí)間的指定方法
絕對(duì)計(jì)時(shí)法 ---- hh:mm MM/DD/YY
相對(duì)計(jì)時(shí)法 ---- now +n minutes(hours days)

(2)指定一個(gè)命令或多個(gè)命令的計(jì)劃任務(wù)執(zhí)行
I.執(zhí)行
at 時(shí)間以后會(huì)進(jìn)入at命令行,輸入命令的絕對(duì)路徑(安全)。輸入完一條命令然后按回城接著第二條命令,最后都輸入完畢以后按
ctrl+d就保存了。

II.當(dāng)任務(wù)比較復(fù)雜的時(shí)候,通常使用腳本的方式來執(zhí)行。假設(shè)生成一個(gè)腳本文件at.scripte。那么通過
at -f 文件名 時(shí)間就可以指定。
(3)at -l 查看隊(duì)列中的任務(wù)
at -d 序號(hào) 刪除計(jì)劃任務(wù)

其中a是表示active,第一個(gè)數(shù)字表示任務(wù)的序號(hào)
通過
at -d 序號(hào)來刪除計(jì)劃任務(wù)。寫完的計(jì)劃任務(wù)是存放在
/var/spool/at目錄里的。
(4)at的配置文件
并不root才能使用at,這里有兩個(gè)文件一個(gè)是/etc/at.allow,一個(gè)是/etc/at.deny。如果只有/etc/at.deny存在,那么該文件中列出的用戶不能使用at。如果只有/etc/at.allow存在,那么只有該文件中列出的用戶能使用at。如果兩個(gè)文件都存在且為空,那么所有用戶都可以使用at。如果兩個(gè)文件都不存在那么只有root才可以使用at。
2.batch 安排一個(gè)或多個(gè)命令在系統(tǒng)負(fù)載教輕時(shí)執(zhí)行一次
用法同at,一般負(fù)載在0.8以下為較輕(w可查看負(fù)載)
3.crontab 周期性計(jì)劃任務(wù)命令,用于生成cron進(jìn)程所需的crontab文件
(1)conttab時(shí)間格式
分鐘 小時(shí) 天 月 星期 命令/腳本
minute hour dayofmonth monthfoyear dayofweek commands
只要把知道的具體時(shí)間添上,不知道的用*添上即可。
比如:
每天凌晨4點(diǎn)備份 0 4 * * * barkup.scrip
1到3月每周2周5下午6點(diǎn)備份 0 18 * 1-3 2,5 barkup.scrip
中午12-14點(diǎn)
每隔2分鐘執(zhí)行操作 */2 12-14 * * * 操作
(2)crontab -e 進(jìn)入文件編輯周期性計(jì)劃任務(wù)
直接crontab 進(jìn)入命令界面輸入任務(wù)
周期性計(jì)劃任務(wù)都存放在/var/spool/cron目錄下。
(3)/etc/crontab配置文件 /etc/cron.allow /etc/cron.deny
該配置文件設(shè)置的crontab的一些環(huán)境變量以及系統(tǒng)一些默認(rèn)固定的周期計(jì)劃任務(wù)。/etc/cron.allow與/etc/cron.deny的用法與at命令類似。