Linux進程(chéng)管理的4個命令(lìng)
Linux是一(yī)個多用戶(hù)、多任(rèn)務的操作係統。在這樣的係統中,各種計算機資源(如文(wén)件、內存、CPU等)的分配和管理都以進程為單位。為了協調多個進程對這些共享資(zī)源的訪(fǎng)問,操作係統要跟蹤所有進程的活動,以及它們對係統資源(yuán)的使用情況,從而實(shí)施對進程和資源的動態管理。進程在一定條件下可(kě)以對諸如文件(jiàn)、數據(jù)庫等客體進行操作。如果進程用作其他不法(fǎ)用途,將給係統帶來(lái)重大(dà)危害。在現實生活當中,許(xǔ)多網絡黑客都是通過種植“木馬”的辦(bàn)法來達到破壞計算(suàn)機係統和入侵的目的,而這些(xiē)“木馬”程序無一例外的是需要(yào)通過進程(chéng)這一方式在(zài)機器上(shàng)運行才能發揮作用(yòng)的。另外,許多破壞程序和攻擊手(shǒu)段都需要通過破壞目標計算機係統的合法進(jìn)程(chéng)尤其(qí)是重要係統進程,使得係統不能完成正常的工作甚至無法工作,從而達到摧毀(huǐ)目標計算機係(xì)統的目的。作為服務器中占絕大多數(shù)市場份額的Linux係統,要(yào)切實保證計算機係統(tǒng)的安全,我們必須對其進程(chéng)進行監控和保護(hù)。
Linux操作(zuò)係(xì)統包括如下三種不(bú)同類型的(de)進程,每種進程都有其(qí)自己的特點和屬性:
- 交互進程:由一(yī)個shell啟動的進(jìn)程。交互進程既(jì)可以在前台運行,也可以在後台運(yùn)行。
- 批處(chù)理進程:這種進程(chéng)和終端沒(méi)有(yǒu)聯係,是一個(gè)進程序列。
- 守護進程(chéng):Linux係統啟動(dòng)時啟動的進(jìn)程,並在後台運行。
上述三(sān)種進程各(gè)有各的作用,使用場合也有(yǒu)所不同。
Linux係統提供了who、w、ps和top等察看進程(chéng)信息的係統調用,通過結合使用這些係統調(diào)用,我們可以清晰(xī)地了解進程的運行狀態以及(jí)存活情況,從而采取相應(yīng)的措施,來確保Linux係(xì)統的(de)安全。
1、who命令
該命令主要用於查(chá)看(kàn)當前在線上的用戶情況。係統管理員可以使用who命令監視每個登錄的用戶此時此刻的所作所為:
# who root pts/1 2010-02-21 15:56 (:0.0)
2、w命令
該命令也用於顯示登錄到係統的用戶情況,但是與who不同的是,w命令功能更加強大,它不但可以顯示有誰登錄到係統,還可以顯示出這(zhè)些用戶當前正在進行的工作,w命令是(shì)who命(mìng)令(lìng)的(de)一個(gè)增強版:
# 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命令
最基本同時也是非常(cháng)強大的進程查看命令。使用該命令可以確定有哪些進(jìn)程正在運行和運行的狀態、進程是否結束(shù)、進程有(yǒu)沒有僵死、哪些進(jìn)程占用了(le)過多的資源等等。ps命令可以監控後台(tái)進(jìn)程的工作情況,因為後台進程是(shì)不和屏幕鍵盤這些標準輸(shū)入/輸(shū)出設備進(jìn)行通信的,如果需要(yào)檢測其情況(kuàng),可以使(shǐ)用ps命令。下麵是一個ps命令的例子:
# ps PID TTY TIME CMD 2817 pts/1 00:00:00 bash 2836 pts/1 00:00:00 ps
4、top命令
top命令和ps命令的基本作用是相同的,顯(xiǎn)示係統當前的進程和其他狀況;但是top是一(yī)個(gè)動態顯示(shì)過程,可以通(tōng)過用(yòng)戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將(jiāng)獨占前台,直到用戶終止該程序為止。比較準(zhǔn)確地說,top命令提供了實時(shí)的對係統處理器的狀態(tài)監視。它將顯(xiǎn)示係統(tǒng)中CPU最“敏(mǐn)感”的任務(wù)列表(biǎo)。該命令可以按CPU使用。內存使用和執行時間對任務進行排序;而且該命令的很多特(tè)性都可以通過交互(hù)式命令或者在個(gè)人定製文件中進行設定(dìng)。下麵是一個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 cachedPID 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)的(de)進程狀況查(chá)看工具,它們是隨Linux套件發行的,安裝好係統之後,用戶就可以使用。當然,隨著開源的不斷發展,相信將會有更多的該(gāi)方麵的工具出(chū)現,以方(fāng)便用戶選擇和使用。
現在我(wǒ)們已經介紹(shào)了Linux文(wén)件係統保護與進(jìn)程管理方麵需要注意的事項。對於Linux係統的全(quán)方位管理,還需要注意(yì)用戶管理和日誌管理方麵的保護,這些將在之後的文(wén)章(zhāng)中進行介紹。
關鍵詞:Linux,進程管(guǎn)理
閱讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0