Linux進(jìn)程管理的4個(gè)命令
Linux是一個(gè)多用戶、多任務(wù)的操作系統(tǒng)。在這樣的系統(tǒng)中,各種計(jì)算機(jī)資源(如文件、內(nèi)存、CPU等)的分配和管理都以進(jìn)程為單位。為了協(xié)調(diào)多個(gè)進(jìn)程對(duì)這些共享資源的訪問(wèn),操作系統(tǒng)要跟蹤所有進(jìn)程的活動(dòng),以及它們對(duì)系統(tǒng)資源的使用情況,從而實(shí)施對(duì)進(jìn)程和資源的動(dòng)態(tài)管理。進(jìn)程在一定條件下可以對(duì)諸如文件、數(shù)據(jù)庫(kù)等客體進(jìn)行操作。如果進(jìn)程用作其他不法用途,將給系統(tǒng)帶來(lái)重大危害。在現(xiàn)實(shí)生活當(dāng)中,許多網(wǎng)絡(luò)黑客都是通過(guò)種植“木馬”的辦法來(lái)達(dá)到破壞計(jì)算機(jī)系統(tǒng)和入侵的目的,而這些“木馬”程序無(wú)一例外的是需要通過(guò)進(jìn)程這一方式在機(jī)器上運(yùn)行才能發(fā)揮作用的。另外,許多破壞程序和攻擊手段都需要通過(guò)破壞目標(biāo)計(jì)算機(jī)系統(tǒng)的合法進(jìn)程尤其是重要系統(tǒng)進(jìn)程,使得系統(tǒng)不能完成正常的工作甚至無(wú)法工作,從而達(dá)到摧毀目標(biāo)計(jì)算機(jī)系統(tǒng)的目的。作為服務(wù)器中占絕大多數(shù)市場(chǎng)份額的Linux系統(tǒng),要切實(shí)保證計(jì)算機(jī)系統(tǒng)的安全,我們必須對(duì)其進(jìn)程進(jìn)行監(jiān)控和保護(hù)。
Linux操作系統(tǒng)包括如下三種不同類型的進(jìn)程,每種進(jìn)程都有其自己的特點(diǎn)和屬性:
- 交互進(jìn)程:由一個(gè)shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。
- 批處理進(jìn)程:這種進(jìn)程和終端沒(méi)有聯(lián)系,是一個(gè)進(jìn)程序列。
- 守護(hù)進(jìn)程:Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng)的進(jìn)程,并在后臺(tái)運(yùn)行。
上述三種進(jìn)程各有各的作用,使用場(chǎng)合也有所不同。
Linux系統(tǒng)提供了who、w、ps和top等察看進(jìn)程信息的系統(tǒng)調(diào)用,通過(guò)結(jié)合使用這些系統(tǒng)調(diào)用,我們可以清晰地了解進(jìn)程的運(yùn)行狀態(tài)以及存活情況,從而采取相應(yīng)的措施,來(lái)確保Linux系統(tǒng)的安全。
1、who命令
該命令主要用于查看當(dāng)前在線上的用戶情況。系統(tǒng)管理員可以使用who命令監(jiān)視每個(gè)登錄的用戶此時(shí)此刻的所作所為:
# who root pts/1 2010-02-21 15:56 (:0.0)
2、w命令
該命令也用于顯示登錄到系統(tǒng)的用戶情況,但是與who不同的是,w命令功能更加強(qiáng)大,它不但可以顯示有誰(shuí)登錄到系統(tǒng),還可以顯示出這些用戶當(dāng)前正在進(jìn)行的工作,w命令是who命令的一個(gè)增強(qiáng)版:
# w 15:56:44 up 38 min, 1 user, load average: 0.56, 0.15, 0.12 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/1 :0.0 15:56 0.00s 0.19s 0.05s w
3、ps命令
最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等等。ps命令可以監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕鍵盤(pán)這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的,如果需要檢測(cè)其情況,可以使用ps命令。下面是一個(gè)ps命令的例子:
# ps PID TTY TIME CMD 2817 pts/1 00:00:00 bash 2836 pts/1 00:00:00 ps
4、top命令
top命令和ps命令的基本作用是相同的,顯示系統(tǒng)當(dāng)前的進(jìn)程和其他狀況;但是top是一個(gè)動(dòng)態(tài)顯示過(guò)程,可以通過(guò)用戶按鍵來(lái)不斷刷新當(dāng)前狀態(tài)。如果在前臺(tái)執(zhí)行該命令,它將獨(dú)占前臺(tái),直到用戶終止該程序?yàn)橹?。比較準(zhǔn)確地說(shuō),top命令提供了實(shí)時(shí)的對(duì)系統(tǒng)處理器的狀態(tài)監(jiān)視。它將顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表。該命令可以按CPU使用。內(nèi)存使用和執(zhí)行時(shí)間對(duì)任務(wù)進(jìn)行排序;而且該命令的很多特性都可以通過(guò)交互式命令或者在個(gè)人定制文件中進(jìn)行設(shè)定。下面是一個(gè)top命令的例子:
# top top - 15:58:07 up 39 min, 1 user, load average: 2.09, 0.68, 0.30 Tasks: 112 total, 2 running, 108 sleeping, 0 stopped, 2 zombie Cpu(s): 30.6%us, 25.2%sy, 0.0%ni, 41.2%id, 0.3%wa, 2.7%hi, 0.0%si, 0.0%st Mem: 485736k total, 477828k used, 7908k free, 31252k buffers Swap: 1285160k total, 0k used, 1285160k free, 291192k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2502 root 15 0 36680 10m 5776 S 40.0 2.2 0:54.26 Xorg 2814 root 15 0 127m 16m 10m S 3.0 3.5 0:03.62 gnome-terminal 2616 root 15 0 97356 14m 10m S 2.6 3.1 0:02.43 gnome-panel 2609 root 15 0 38660 10m 7544 S 2.0 2.1 0:01.57 metacity 2640 root 15 0 96276 13m 9448 S 2.0 2.7 0:01.46 wnck-applet 2597 root 15 0 33916 8144 6768 S 1.0 1.7 0:01.32 gnome-settings- 2618 root 15 0 133m 20m 14m S 1.0 4.4 0:04.66 nautilus 2709 root 15 0 16396 3488 2736 S 0.7 0.7 0:02.72 gnome-screensav 2837 root 15 0 2160 1008 788 R 0.7 0.2 0:00.31 top 2855 root 15 0 106m 22m 14m S 0.7 4.8 0:01.87 gedit 2035 root 18 0 33180 1276 536 S 0.3 0.3 0:01.51 pcscd 2076 root 21 0 9336 1108 856 S 0.3 0.2 0:00.35 automount 2313 root 18 0 1920 624 544 S 0.3 0.1 0:03.46 hald-addon-stor 2665 root 15 0 2528 1156 948 S 0.3 0.2 0:00.26 gam_server 2703 root 15 0 64020 24m 14m S 0.3 5.3 0:02.39 /usr/bin/sealer 2713 root 15 0 49500 6528 3484 S 0.3 1.3 0:00.31 scim-panel-gtk 1 root 15 0 2036 640 548 S 0.0 0.1 0:02.16 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 5 root 10 -5 0 0 0 S 0.0 0.0 0:00.06 events/0 6 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper 7 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 kthread 10 root 10 -5 0 0 0 S 0.0 0.0 0:00.26 kblockd/0
以上介紹的是目前在Linux下使用得最常見(jiàn)的進(jìn)程狀況查看工具,它們是隨Linux套件發(fā)行的,安裝好系統(tǒng)之后,用戶就可以使用。當(dāng)然,隨著開(kāi)源的不斷發(fā)展,相信將會(huì)有更多的該方面的工具出現(xiàn),以方便用戶選擇和使用。
現(xiàn)在我們已經(jīng)介紹了Linux文件系統(tǒng)保護(hù)與進(jìn)程管理方面需要注意的事項(xiàng)。對(duì)于Linux系統(tǒng)的全方位管理,還需要注意用戶管理和日志管理方面的保護(hù),這些將在之后的文章中進(jìn)行介紹。
關(guān)鍵詞:Linux,進(jìn)程管理
閱讀本文后您有什么感想? 已有
0
人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0