目錄
一.程序和進(jìn)程
1.程序的概念
2.進(jìn)程的概念
3.線(xiàn)程的概念
4.單線(xiàn)程與多線(xiàn)程
5.進(jìn)程的狀態(tài)
二.查看進(jìn)程信息相關(guān)命令:
1.ps:查看靜態(tài)進(jìn)程信息狀態(tài)
2.top:查看動(dòng)態(tài)進(jìn)程排名信息
3.pgrep:查看指定進(jìn)程?
4.pstree:以樹(shù)形結(jié)構(gòu)列出進(jìn)程信息?
6.iostat:顯示所有設(shè)備負(fù)載情況?
三.查看系統(tǒng)性能
四.進(jìn)程管理
1.手動(dòng)啟動(dòng)
2.進(jìn)程的前后臺(tái)調(diào)度
3.終止程序的運(yùn)行
(1)ctrl+c
(2)kill
(3)pkill
五.計(jì)劃任務(wù)管理?
1.at:設(shè)置一次性計(jì)劃任務(wù)
2.crontab:周期性計(jì)劃任務(wù)
一.程序和進(jìn)程
1.程序的概念
在硬盤(pán)上執(zhí)行特定程序的一串代碼
2.進(jìn)程的概念
程序啟動(dòng)后,系統(tǒng)會(huì)賦予一個(gè)pid,這個(gè)含有pid而且在運(yùn)行中的程序叫做進(jìn)程。
3.線(xiàn)程的概念
線(xiàn)程的出現(xiàn)是為了解決切換進(jìn)程之間出現(xiàn)的硬件消耗
(1)減少硬件資源的消耗
(2)一個(gè)線(xiàn)程至少有一個(gè)進(jìn)程
(3)相同資源的存儲(chǔ)
4.單線(xiàn)程與多線(xiàn)程
grep -i threads /proc/pid號(hào)/status
或prtstat pid號(hào) | grep -i? threads
5.進(jìn)程的狀態(tài)
運(yùn)行態(tài):running
就緒態(tài):ready
睡眠態(tài),可中斷:interruptable,不可中斷:uninterruptable
停止態(tài):stopped,暫停于內(nèi)存,但不會(huì)被調(diào)度,除非手動(dòng)啟動(dòng)
僵死態(tài):zombie,僵尸態(tài),結(jié)束進(jìn)程,父進(jìn)程結(jié)束前,子進(jìn)程不關(guān)閉,殺死父進(jìn)程可以關(guān)閉僵死態(tài)的子進(jìn)程, 解決方法: 重啟或?qū)⒏高M(jìn)程喚起
二.查看進(jìn)程信息相關(guān)命令:
1.ps:查看靜態(tài)進(jìn)程信息狀態(tài)
格式:
ps aux ?? ??? ??? ??? ?#基本格式
ps aux | wc -l?? ??? ?#結(jié)合管道符號(hào)查詢(xún)具體的數(shù)量(需要-1)
a | 所有終端 |
u | 以用戶(hù)格式 |
x | 所有進(jìn)程 |
-e | 顯示系統(tǒng)內(nèi)的所有進(jìn)程信息 |
-l | 使用長(zhǎng)(Long)格式顯示進(jìn)程信息 |
-f | 使用完整的(Full)格式顯示進(jìn)程信 |
k|--sort | 對(duì)屬性排序,屬性前加 - 表示倒序 |
o | 選項(xiàng)顯示定制的信息 |
表頭?? ?含義
USER?? ?該進(jìn)程是由哪個(gè)用戶(hù)產(chǎn)生的。
PID?? ?進(jìn)程的 ID。
%CPU?? ?該進(jìn)程占用 CPU 資源的百分比,占用的百分比越高,進(jìn)程越耗費(fèi)資源。
%MEM?? ?該進(jìn)程占用物理內(nèi)存的百分比,占用的百分比越高,進(jìn)程越耗費(fèi)資源。
VSZ?? ?該進(jìn)程占用虛擬內(nèi)存的大小,單位為 KB。
RSS?? ?該進(jìn)程占用實(shí)際物理內(nèi)存的大小,單位為 KB。
TTY?? ?該進(jìn)程是在哪個(gè)終端運(yùn)行的。其中,tty1 ~ tty7 代表本地控制臺(tái)終端(可以通過(guò) Alt+F1 ~ F7 快捷鍵切換不同的終端),tty1~tty6 是本地的字符界面終端,tty7 是圖形終端。pts/0 ~ 255 代表虛擬終端,一般是遠(yuǎn)程連接的終端,第一個(gè)遠(yuǎn)程連接占用 pts/0,第二個(gè)遠(yuǎn)程連接占用 pts/1,依次増長(zhǎng)。?代表和終端無(wú)關(guān),系統(tǒng)進(jìn)程
STAT?? ?進(jìn)程狀態(tài)。常見(jiàn)的狀態(tài)有以下幾種: -D:不可被喚醒的睡眠狀態(tài),通常用于 I/O 情況。 -R:該進(jìn)程正在運(yùn)行。 -S:該進(jìn)程處于睡眠狀態(tài),可被喚醒。 -T:停止?fàn)顟B(tài),可能是在后臺(tái)暫?;蜻M(jìn)程處于除錯(cuò)狀態(tài)。 -W:內(nèi)存交互狀態(tài)(從 2.6 內(nèi)核開(kāi)始無(wú)效)。 -X:死掉的進(jìn)程(應(yīng)該不會(huì)出現(xiàn))。 -Z:僵尸進(jìn)程。進(jìn)程已經(jīng)中止,但是還是占用硬件資源。 -<:高優(yōu)先級(jí)(以下?tīng)顟B(tài)在 BSD 格式中出現(xiàn))。 -N:低優(yōu)先級(jí)。 -L:被鎖入內(nèi)存。 -s:包含子進(jìn)程。 -l:多線(xiàn)程(小寫(xiě) L)。 -+:位于后臺(tái)。
START?? ?該進(jìn)程的啟動(dòng)時(shí)間。
TIME?? ?該進(jìn)程占用 CPU 的運(yùn)算時(shí)間,注意不是系統(tǒng)時(shí)間。
COMMAND?? ?產(chǎn)生此進(jìn)程的命令名。
2.top:查看動(dòng)態(tài)進(jìn)程排名信息
-d 秒數(shù)?? ?指定 top 命令每隔幾秒更新。默認(rèn)是 3 秒
-b?? ?使用批處理模式輸出。一般和"-n"選項(xiàng)合用,用于把 top 命令重定向到文件中
-n 次數(shù)?? ?指定 top 命令執(zhí)行的次數(shù)。一般和"-"選項(xiàng)合用
-p 進(jìn)程PID?? ?僅查看指定 ID 的進(jìn)程
-s?? ?使 top 命令在安全模式中運(yùn)行,避免在交互模式中出現(xiàn)錯(cuò)誤
-u 用戶(hù)名?? ?只監(jiān)聽(tīng)某個(gè)用戶(hù)的進(jìn)程
第一行:任務(wù)列表信息
內(nèi) 容 說(shuō) 明 12:26:46 系統(tǒng)當(dāng)前時(shí)間 up 1 day, 13:32 系統(tǒng)的運(yùn)行時(shí)間.本機(jī)己經(jīng)運(yùn)行 1 天 13 小時(shí) 32 分鐘 2 users 當(dāng)前登錄了兩個(gè)用戶(hù) load average: 0.00,0.00,0.00 系統(tǒng)在之前 1 分鐘、5 分鐘、15 分鐘的平均負(fù)載。如果 CPU 是單核的,則這個(gè)數(shù)值超過(guò) 1 就是高負(fù)載:如果 CPU 是四核的,則這個(gè)數(shù)值超過(guò) 4 就是高負(fù)載 (這個(gè)平均負(fù)載完全是依據(jù)個(gè)人經(jīng)驗(yàn)來(lái)進(jìn)行判斷的,一般認(rèn)為不應(yīng)該超過(guò)服務(wù)器 CPU 的核數(shù))
第二行為進(jìn)程信息
內(nèi) 容 說(shuō) 明 Tasks: 95 total 系統(tǒng)中的進(jìn)程總數(shù) 1 running 正在運(yùn)行的進(jìn)程數(shù) 94 sleeping 睡眠的進(jìn)程數(shù) 0 stopped 正在停止的進(jìn)程數(shù) 0 zombie 僵尸進(jìn)程數(shù)。如果不是 0,則需要手工檢查僵尸進(jìn)程
第三行為 CPU 信息
內(nèi) 容 說(shuō) 明 Cpu(s): 0.1 %us 用戶(hù)模式占用的 CPU 百分比 個(gè)人用戶(hù)開(kāi)啟的進(jìn)程占用的 cpu 率 0.1%sy 系統(tǒng)模式占用的 CPU 百分比 0.0%ni 改變過(guò)優(yōu)先級(jí)的用戶(hù)進(jìn)程占用的 CPU 百分比 99.7%id 空閑 CPU 占用的 CPU 百分比 0.1%wa 等待輸入/輸出的進(jìn)程占用的 CPU 百分比 1 0.0%hi 硬中斷請(qǐng)求服務(wù)占用的 CPU 百分比 0.1%si 軟中斷請(qǐng)求服務(wù)占用的 CPU 百分比 0.0%st st(steal time)意為虛擬程序占用 cpu 時(shí)間百分比,就是當(dāng)有虛擬機(jī)時(shí),虛擬 CPU 等待實(shí)際 CPU 的時(shí)間百分比
第四行為物理內(nèi)存信息
內(nèi) 容 說(shuō) 明 Mem: 625344k total 物理內(nèi)存的總量,單位為KB 571504k used 己經(jīng)使用的物理內(nèi)存數(shù)量 53840k&ee 空閑的物理內(nèi)存數(shù)量。我們使用的是虛擬機(jī),共分配了 628MB內(nèi)存,所以只有53MB的空閑內(nèi)存 65800k buffers 作為緩沖的內(nèi)存數(shù)量
?第五行為交換分區(qū)(swap)信息
內(nèi) 容 說(shuō) 明 Swap: 524280k total 交換分區(qū)(虛擬內(nèi)存)的總大小 Ok used 已經(jīng)使用的交換分區(qū)的大小 524280k free 空閑交換分區(qū)的大小 409280k cached 作為緩存的交換分區(qū)的大小
3.pgrep:查看指定進(jìn)程?
-U | 指定用戶(hù) |
-l | 顯示進(jìn)程名 |
-a | 顯示完整格式的進(jìn)程名 |
-P pid | 顯示指定進(jìn)程的子進(jìn)程???? |
-t | 指定終端 |
4.pstree:以樹(shù)形結(jié)構(gòu)列出進(jìn)程信息?
-a | 顯示啟動(dòng)每個(gè)進(jìn)程對(duì)應(yīng)的完整指令,包括啟動(dòng)進(jìn)程的路徑、參數(shù)等 |
-p | 顯示PID |
-T- | 不顯示線(xiàn)程thread,默認(rèn)顯示線(xiàn)程 |
-u | 顯示用戶(hù)切換 |
-H pid | 高亮顯示指定進(jìn)程及其前輩進(jìn)程 |
6.iostat:顯示所有設(shè)備負(fù)載情況?
格式:
iostat [ 選項(xiàng) ] [ <時(shí)間間隔> [ <次數(shù)> ] ]
-c | 顯示CPU使用情況 |
-d | 顯示磁盤(pán)使用情況 |
-N | 顯示磁盤(pán)陣列(LVM) 信息 |
-n | 顯示NFS 使用情況 |
-k | 以 KB 為單位顯示 |
-m | 以 M 為單位顯示 |
-t | 報(bào)告每秒向終端讀取和寫(xiě)入的字符數(shù)和CPU的信息 |
-V | 顯示版本信息 |
-x | 顯示詳細(xì)信息 |
-p | 顯示磁盤(pán)和分區(qū)的情況 |
三.查看系統(tǒng)性能
CPU | top w |
內(nèi)存 | top free |
硬盤(pán)剩余 | df |
硬盤(pán)讀寫(xiě) | iostat |
網(wǎng)絡(luò)帶寬 | ifop |
四.進(jìn)程管理
1.手動(dòng)啟動(dòng)
前臺(tái)啟動(dòng):通過(guò)終端啟動(dòng)后一直占據(jù)終端,用戶(hù)輸入命令,直接執(zhí)行的程序
后臺(tái)啟動(dòng):可通過(guò)終端啟動(dòng),但啟動(dòng)后即轉(zhuǎn)入后臺(tái)運(yùn)行(釋放終端),在命令行尾加入“&”符號(hào)
2.進(jìn)程的前后臺(tái)調(diào)度
(1)ctrl+z
將當(dāng)前進(jìn)程掛起,即調(diào)入后臺(tái)并停止執(zhí)行
(2)jobs
[ -l ] :顯示PID號(hào)
查看處于后臺(tái)的任務(wù)列表
(3)fg命令
將后臺(tái)進(jìn)程恢復(fù)到前臺(tái)運(yùn)行,可指定任務(wù)序號(hào)
3.終止程序的運(yùn)行
(1)ctrl+c
中斷正在執(zhí)行的命令
(2)kill
- kill用于終止指定PID號(hào)的進(jìn)程
- klll用于終止指定名稱(chēng)相關(guān)的所有進(jìn)程
- -9選項(xiàng)用于強(qiáng)制終止
格式:
kill [信號(hào)] PID
0?? ?EXIT?? ?程序退出時(shí)收到該信息。
1?? ?HUP?? ?掛掉電話(huà)線(xiàn)或終端連接的掛起信號(hào),這個(gè)信號(hào)也會(huì)造成某些進(jìn)程在沒(méi)有終止的情況下重新初始化。
2?? ?INT?? ?表示結(jié)束進(jìn)程,但并不是強(qiáng)制性的,常用的 "Ctrl+C" 組合鍵發(fā)出就是一個(gè) kill -2 的信號(hào)。
3?? ?QUIT?? ?退出。
9?? ?KILL?? ?殺死進(jìn)程,即強(qiáng)制結(jié)束進(jìn)程。
11?? ?SEGV?? ?段錯(cuò)誤。
15?? ?TERM?? ?正常結(jié)束進(jìn)程,是 kill 命令的默認(rèn)信號(hào)。kill all? ?#殺死全部進(jìn)程
(3)pkill
根據(jù)特定條件終止相應(yīng)的進(jìn)程(不建議使用)
- -U:根據(jù)進(jìn)程所屬的用戶(hù)名終止相應(yīng)進(jìn)程;
- -t:根據(jù)進(jìn)程所在的終端終止相應(yīng)進(jìn)程。
五.計(jì)劃任務(wù)管理?
1.at:設(shè)置一次性計(jì)劃任務(wù)
at [HH:MM] ?[yyyy-mm-dd]?? ??? ?#不帶年月日為今天執(zhí)行
atq ??? ??? ??? ??? ??? ??? ??? ?#查看未執(zhí)行的一次性計(jì)劃任務(wù)
atrm ?1?? ??? ??? ??? ??? ??? ??? ?#刪除第一條任務(wù)
2.crontab:周期性計(jì)劃任務(wù)
格式:
crontab [選項(xiàng)] [file]
-u user?? ?用來(lái)設(shè)定某個(gè)用戶(hù)的 crontab 服務(wù),例如 "-u demo" 表示設(shè)備 demo 用戶(hù)的 crontab 服務(wù),此選項(xiàng)一般有 root 用戶(hù)來(lái)運(yùn)行。
-e?? ?編輯某個(gè)用戶(hù)的 crontab 文件內(nèi)容。如果不指定用戶(hù),則表示編輯當(dāng)前用戶(hù)的 crontab 文件。
-l?? ?顯示某用戶(hù)的 crontab 文件內(nèi)容,如果不指定用戶(hù),則表示顯示當(dāng)前用戶(hù)的 crontab 文件內(nèi)容。
-r?? ?從 /var/spool/cron 刪除某用戶(hù)的 crontab 文件,如果不指定用戶(hù),則默認(rèn)刪除當(dāng)前用戶(hù)的 crontab 文件。
-i?? ?在刪除用戶(hù)的 crontab 文件時(shí),給確認(rèn)提示。
?
?
格式:
* * * * *
第一個(gè)* | 哪一分鐘 | 0-53 |
第二個(gè)* | 哪一小時(shí) | 0-23 |
第三個(gè)* | 哪一天 | 1-31 |
第四個(gè)* | 哪一月 | 1-12 |
第五個(gè)* | 星期幾 | 0-7? ?07代表星期天 |
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-805938.html文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-805938.html
?
到了這里,關(guān)于Linux程序、進(jìn)程和計(jì)劃任務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!