亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

進(jìn)程

系統(tǒng) 2275 0

From: http://www.startos.com/zhuanti/linux20101115a/index.html

  1、 進(jìn)程分類

  Linux 操作系統(tǒng)包括三種不同類型的進(jìn)程它們是:交互進(jìn)程、批處理進(jìn)程和守護(hù)進(jìn)程。每種進(jìn)程都有自己的特點(diǎn)和屬性。交互進(jìn)程是由一個Shell啟動的進(jìn)程。交互進(jìn)程既可以在前臺運(yùn)行,也可以在后臺運(yùn)行。批處理進(jìn)程和終端沒有聯(lián)系,是一個進(jìn)程序列。系統(tǒng)守護(hù)進(jìn)程是Linux系統(tǒng)啟動時啟動的進(jìn)程,并在后臺運(yùn)行。

  說明:

  值得一提的是守護(hù)進(jìn)程總是活躍的,一般是后臺運(yùn)行,守護(hù)進(jìn)程一般是由系統(tǒng)在開機(jī)時通過腳本自動激活啟動或超級管理用戶root來啟動。比如在 Fedora中,我們可以定義httpd 服務(wù)器的啟動腳本的運(yùn)行級別,此文件位于/etc/init.d目錄下,文件名是httpd,/etc/init.d/httpd 就是httpd服務(wù)器的守護(hù)程序,當(dāng)把它的運(yùn)行級別設(shè)置為3和5時,當(dāng)系統(tǒng)啟動時,它會跟著啟動。由于守護(hù)進(jìn)程是一直運(yùn)行著的,所以它所處的狀態(tài)是等待請求處理任務(wù)。

  2 進(jìn)程的屬性

  進(jìn)程ID(PID):是唯一的數(shù)值,用來區(qū)分進(jìn)程。

  父進(jìn)程和父進(jìn)程的ID(PPID);

  啟動進(jìn)程的用戶ID(UID)和所歸屬的組(GID);

  進(jìn)程狀態(tài):狀態(tài)分為運(yùn)行R、休眠S、僵尸Z;

  進(jìn)程執(zhí)行的優(yōu)先級;

  進(jìn)程所連接的終端名;

  進(jìn)程資源占用:比如占用資源大小(內(nèi)存、CPU占用量);

  3、 父進(jìn)程和子進(jìn)程

  他們的關(guān)系是管理和被管理的關(guān)系,當(dāng)父進(jìn)程終止時,子進(jìn)程也隨之而終止。但子進(jìn)程終止,父進(jìn)程并不一定終止。比如httpd服務(wù)器運(yùn)行時,我們可以殺掉其子進(jìn)程,父進(jìn)程并不會因?yàn)樽舆M(jìn)程的終止而終止。在進(jìn)程管理中,當(dāng)我們發(fā)現(xiàn)占用資源過多,或無法控制的進(jìn)程時,應(yīng)該殺死它,以保護(hù)系統(tǒng)的穩(wěn)定安全運(yùn)行。

  4、進(jìn)程管理

  Linux管理進(jìn)程的最好方法就是使用命令行下的系統(tǒng)命令。Linux下面的進(jìn)程涉及的命令有比如ps、kill、pgrep等工具。

監(jiān)視進(jìn)程命令

1、ps(process status命令)

  使用方式:ps [options] [--help]

  功能說明:顯示瞬間行程 (process) 的動態(tài)

  主要參數(shù):

  ps 的參數(shù)非常多, 在此僅列出幾個常用的參數(shù)并大略介紹含義

  -A 列出所有的行程

  -w 顯示加寬可以顯示較多的資訊

  -au 顯示較詳細(xì)的資訊

  -aux 顯示所有包含其他使用者的行程

  范例: ps 如下圖:表示的順序?yàn)椋哼M(jìn)程標(biāo)號、設(shè)備、狀態(tài)、啟動時間、命令。

進(jìn)程

  2、pstree命令

  使用方式:pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]

  pstree -V

  功能說明:將所有行程以樹狀圖顯示, 樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程為根 (root) ,如果有指定使用者 id , 則樹狀圖會只顯示該使用者所擁有的行程

  主要參數(shù):

  -a 顯示該行程的完整指令及參數(shù), 如果是被記憶體置換出去的行程則會加上括號。

  -c 如果有重覆的行程名, 則分開列出 (預(yù)設(shè)值是會在前面加上 *)。

  范例: pstree 如下圖:

進(jìn)程

  說明:命令對程序名稱相同的會自動合并,所有"|-auto---4*[{automount}]"即表示系統(tǒng)中有4個automount進(jìn)程產(chǎn)生的子進(jìn)程。

  3、top命令

  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

  功能說明:實(shí)時顯示 process 的動態(tài)

  主要參數(shù):

  d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s

  q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的權(quán)限,則 top 將會以最高的優(yōu)先序執(zhí)行

  c : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來

  s : 安全模式,將交談式指令取消, 避免潛在的危機(jī)

  i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程

  n : 更新的次數(shù),完成后將會退出 top

  b : 批次檔模式,搭配 "n" 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi)

  范例:顯示更新十次后退出 ; top -n 10 如下圖:

  使用者將不能利用交談式指令來對行程下命令 :

  top -s 如下圖:

進(jìn)程

  PID(Process ID):進(jìn)程標(biāo)志號,是非零正整數(shù)。

  USER:進(jìn)程所有者的用戶名。

  PR:進(jìn)程的優(yōu)先級別。

  NI:進(jìn)程的優(yōu)先級別數(shù)值。

  VIRT:進(jìn)程占用的虛擬內(nèi)存值。

  RES:進(jìn)程占用的物理內(nèi)存值。

  SHR:進(jìn)程使用的共享內(nèi)存值。

  STAT:進(jìn)程的狀態(tài),其中S表示休眠,R表示正在運(yùn)行,Z表示僵死狀態(tài),N表示該進(jìn)程優(yōu)先值是負(fù)數(shù)。

  %CPU:該進(jìn)程占用的CPU使用率。

  %MEM:該進(jìn)程占用的物理內(nèi)存和總內(nèi)存的百分比。

  TIME:該進(jìn)程啟動后占用的總的CPU時間。

  COMMAND:進(jìn)程啟動的啟動命令名稱,如果這一行顯示不下,進(jìn)程會有一個完整的命令行。

使用kill 命令控制進(jìn)程

使用方式: kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]

功能說明: 刪除執(zhí)行中的程序或工作。kill可將指定的信息送至程序,預(yù)設(shè)的信息為 SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強(qiáng)制刪除程序。程序或工作的編號可利用ps指令或 jobs指令查看。

主要參數(shù):

  -l <信息編號>  若不加<信息編號>選項(xiàng),則-l參數(shù)會列出全部的信息名稱。

  -s <信息名稱或編號>  指定要送出的信息。

說明:

  進(jìn)程是Linux系統(tǒng)中一個非常重要的概念。Linux是一個多任務(wù)的操作系統(tǒng),系統(tǒng)上經(jīng)常同時運(yùn)行著多個進(jìn)程。我們不關(guān)心這些進(jìn)程究竟是如何分配的,或者是內(nèi)核如何管理分配時間片的,所關(guān)心的是如何去控制這些進(jìn)程,讓它們能夠很好地為用戶服務(wù)。

kill命令的工作原理:

  向Linux系統(tǒng)的內(nèi)核發(fā)送一個系統(tǒng)操作信號和某個程序的進(jìn)程標(biāo)識號,然后系統(tǒng)內(nèi)核就可以對進(jìn)程標(biāo)識號指定的進(jìn)程進(jìn)行操作。

  例如在top命令中,我們看到系統(tǒng)運(yùn)行許多進(jìn)程,有時就需要使用kill中止某些進(jìn)程來提高系統(tǒng)資源。在講解安裝和登陸命令時,曾提到系統(tǒng)多個虛擬控制臺的作用是當(dāng)一個程序出錯造成系統(tǒng)死鎖時,可以切換到其它虛擬控制臺工作關(guān)閉這個程序。此時使用的命令就是 kill,因?yàn)閗ill是大多數(shù)Shell內(nèi)部命令可以直接調(diào)用的。

  實(shí)例:使用kill命令

  第一步:執(zhí)行find命令(#find asdfg /)。

  說明:很費(fèi)時間的命令。

  第二步:查看find對應(yīng)的進(jìn)程號。(ps aux|grep find) 如圖:

  顯示地項(xiàng)目共分為四項(xiàng),依次為PID(進(jìn)程ID)、TTY(終端名稱)、TIME(進(jìn)程執(zhí)行時間)、COMMAND(該進(jìn)程地命令行輸入)。

進(jìn)程

  第三步:使用kill殺死find進(jìn)程(#kill 8269)。

進(jìn)程優(yōu)先級設(shè)定(nice命令)

  使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]

  功能說明:以更改過的優(yōu)先序來執(zhí)行程序, 如果未指定程序, 則會顯示出目前的排程優(yōu)先序, 內(nèi)定的 adjustment 為 10, 范圍為 -20 (最高優(yōu)先序) 到 19 (最低優(yōu)先序)

  主要參數(shù):

  -n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優(yōu)先序的增加 adjustment

  --help 顯示求助訊息

  --version 顯示版本資訊

  范例: 將 ls 的優(yōu)先序加 1 并執(zhí)行 : nice -n 1 ls

  注意 : 優(yōu)先序 (priority) 為操作系統(tǒng)用來決定 CPU 分配的參數(shù),Linux 使用『回合制(round-robin)』的演算法來做 CPU 排程,優(yōu)先序越高,所可能獲得的 CPU時間就越多。

定期或規(guī)定時間內(nèi)執(zhí)行Linux程序

  1、定期時間內(nèi)執(zhí)行Linux程序(crontab)

  使用方式:  crontab [ -u user ] file

  crontab [ -u user ] { -l | -r | -e }

  功能說明:crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程序之用,換句話說,也就是類似使用者的時程表。-u user 是指設(shè)定指定 user 的時程表,這個前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時程表。

  主要參數(shù):

  -e : 執(zhí)行文字編輯器來設(shè)定時程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL 環(huán)境變數(shù)來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

  -r : 刪除目前的時程表

  -l : 列出目前的時程表

  時程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執(zhí)行的程序。

  當(dāng) f1 為 * 時表示每分鐘都要執(zhí)行 program,f2 為 * 時表示每小時都要執(zhí)行程序,其馀類推

  當(dāng) f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內(nèi)要執(zhí)行,f2 為 a-b 時表示從第 a 到第 b 小時都要執(zhí)行,其馀類推

  當(dāng) f1 為 */n 時表示每 n 分鐘個時間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時個時間間隔執(zhí)行一次,其馀類推

  當(dāng) f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執(zhí)行,其馀類推。

  說明:使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來設(shè)定時程表。

  例子1:每月每天每小時的第 0 分鐘執(zhí)行一次 /bin/ls :

  0 * * * * /bin/ls

  例子2:在 12 月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :

  0 6-12/3 * 12 * /usr/bin/backup

  注意 :當(dāng)程序在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程序執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請?jiān)诿恳恍锌找桓裰蠹由?> /dev/null 2>&1 即可 。

  2、規(guī)定時間內(nèi)執(zhí)行Linux程序(at命令)

  使用方式:at -V [-q queue] [-f file] [-mldbv] TIME

  功能說明:at 可以讓使用者指定在 TIME 這個特定時刻執(zhí)行某個程序或指令,TIME 的格式是 HH:MM其中的 HH 為小時,MM 為分鐘,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 點(diǎn)鍾)等口語詞。

  如果想要指定超過一天內(nèi)的時間,則可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 時間間隔來彈性指定時間,其中的時間間隔可以是 minutes, hours, days, weeks。

  使用者也可指定 today 或 tomorrow 來表示今天或明天。當(dāng)指定了時間并按下 enter 之后,at 會進(jìn)入交談模式并要求輸入指令或程序,當(dāng)你輸入完后按下 ctrl+D 即可完成所有動作,至于執(zhí)行的結(jié)果將會寄回你的帳號中。

  主要參數(shù):

  -V : 印出版本編號

  -q : 使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者可以同時使用多個 queue,而 queue 的編號為 a, b, c... z 以及 A, B, ... Z 共 52 個

  -m : 即使程序/指令執(zhí)行完成后沒有輸出結(jié)果, 也要寄封信給使用者

  -f file : 讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案后再一次讀入

  -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)

  -d : 刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)

  -v : 列出所有已經(jīng)完成但尚未刪除的指定

  例子1: 三天后的下午 5 點(diǎn)鐘執(zhí)行 /bin/ls :

  at 5pm +3 days /bin/ls

  例子2: 三個星期后的下午 5 點(diǎn)鐘執(zhí)行 /bin/ls :

  at 5pm +2 weeks /bin/ls

  例子3: 明天的 17:20 執(zhí)行 /bin/date :

  at 17:20 tomorrow /bin/date

  例子4: 1999 年的最后一天的最后一分鐘印出 the end of world !

  at 23:59 12/31/1999 echo the end of world !

其它系統(tǒng)管理命令

順序
命令
語法
功能
主要選項(xiàng)
1

man

man [-k] [command_name] 顯示參考手冊,提供聯(lián)機(jī)幫助信息。 -k表示指定關(guān)鍵字查詢的有關(guān)命令。
2 uname umane [選項(xiàng)] 顯示目前的版本信息。 [-a|m|n|r|s|v|help|version]
3 date date? [選項(xiàng)] 可以用來顯示或設(shè)定系統(tǒng)的日期與時間。 [-d|help|s|u|-version]
4 cal cal? [選項(xiàng)]? [月] [年] 顯示某年某月的日歷。 -j顯示第幾天;-y顯示整年日歷
5 pwd pwd 顯示目前所在目錄。 ?
6 free free? [選項(xiàng)] 顯示內(nèi)存狀態(tài)。 [-b|k|m|o|s|t|V]
7 last last? [選項(xiàng)][賬號][終端] 列出目前與過去系統(tǒng)登錄用戶信息。 [-a|d|f|n|R|x]
8 shutdown shutdown[選項(xiàng)][時間][警告信息] 系統(tǒng)關(guān)機(jī)命令。 [-c|f|F|h|k|n|r|t]
9 halt halt [選項(xiàng)] 選擇性關(guān)閉系統(tǒng)命令 [-d|f|i|n|p|w]
10 reboot rebioot [選項(xiàng)] 重新開機(jī)命令。 [-d|f|i|n|w]
11 init init state 改變系統(tǒng)狀態(tài)。 [0-6|s/S]
12 runlevel runlevel 查看當(dāng)前系統(tǒng)所處運(yùn)行狀態(tài) ?
13 login login 注冊進(jìn)入系統(tǒng)。 ?
14 logout logout 用戶注銷。 ?

進(jìn)程


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人免费一级片 | free性欧美video69 | 国产欧美久久久另类精品 | 国产一级特黄aaaa大片野外 | 二区视频 | 精品久久久久久国产91 | 久久久久久久国产视频 | 久久久久久亚洲精品 | 日本a一级毛片免费观看 | 久久久久久全国免费观看 | 欧美经典人人爽人人爽人人片 | 四虎在线视频免费观看 | 伊人天天操 | 久操精品视频 | 男人午夜剧场 | 欧美日本成人 | 国产精品久久久久久久免费大片 | 97视频免费 | 国产精品视频福利一区二区 | 国语偷拍视频在线观看 | 久久免费观看视频 | 欧美日韩视频在线成人 | 国产精品视_精品国产免费 国产精品视频2021 | 国产精品免费视频一区 | 久久精品一区二区国产 | 香蕉一区二区三区观 | 国产精品99久久久久久小说 | 欧美精品 在线播放 | 亚洲欧美色综合大色 | 99久久精品免费 | 国产草草 | 亚洲狠狠婷婷综合久久久久网站 | 偷亚洲偷国产欧美高清 | 国产1区精品 | 97影院午夜在线观看视频 | 亚洲一级毛片欧美一级说乱 | 久久久成人网 | 久久大胆视频 | 欧美精品成人一区二区在线观看 | 午夜免费播放观看在线视频 | 久久久久久岛国免费网站 |