四大命令助你玩轉Linux程式管理

helloxchen發表於2010-10-21
Linux是一個多使用者、多工的作業系統。在這樣的系統中,各種計算機資源(如檔案、記憶體、CPU等)的分配和管理都以程式為單位。為了協調多個程式對這些共享資源的訪問,作業系統要跟蹤所有程式的活動,以及它們對系統資源的使用情況,從而實施對程式和資源的動態管理。程式在一定條件下可以對諸如檔案、資料庫等客體進行操作。如果程式用作其他不法用途,將給系統帶來重大危害。在現實生活當中,許多網路駭客都是透過種植“木馬”的辦法來達到破壞計算機系統和入侵的目的,而這些“木馬”程式無一例外的是需要透過程式這一方式在機器上執行才能發揮作用的。另外,許多破壞程式和攻擊手段都需要透過破壞目標計算機系統的合法程式尤其是重要系統程式,使得系統不能完成正常的工作甚至無法工作,從而達到摧毀目標計算機系統的目的。作為伺服器中佔絕大多數市場份額的Linux系統,要切實保證計算機系統的安全,我們必須對其程式進行監控和保護。

Linux作業系統包括如下三種不同型別的程式,每種程式都有其自己的特點和屬性:

1. 互動程式:由一個shell啟動的程式。互動程式既可以在前臺執行,也可以在後臺執行。
2. 批處理程式:這種程式和終端沒有聯絡,是一個程式序列。
3. 守護程式:Linux系統啟動時啟動的程式,並在後臺執行。

上述三種程式各有各的作用,使用場合也有所不同。

Linux系統提供了who、w、ps和top等察看程式資訊的系統呼叫,透過結合使用這些系統呼叫,我們可以清晰地瞭解程式的執行狀態以及存活情況,從而採取相應的措施,來確保Linux系統的安全。

1、who命令

該命令主要用於檢視當前線上上的使用者情況。系統管理員可以使用who命令監視每個登入的使用者此時此刻的所作所為:

# who
root pts/1 2010-02-21 15:56 (:0.0)

2、w命令

該命令也用於顯示登入到系統的使用者情況,但是與who不同的是,w命令功能更加強大,它不但可以顯示有誰登入到系統,還可以顯示出這些使用者當前正在進行的工作,w命令是who命令的一個增強版:

# 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命令

最基本同時也是非常強大的程式檢視命令。使用該命令可以確定有哪些程式正在執行和執行的狀態、程式是否結束、程式有沒有僵死、哪些程式佔用了過多的資源等等。ps命令可以監控後臺程式的工作情況,因為後臺程式是不和螢幕鍵盤這些標準輸入/輸出裝置進行通訊的,如果需要檢測其情況,可以使用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命令的基本作用是相同的,顯示系統當前的程式和其他狀況;但是top是一個動態顯示過程,可以透過使用者按鍵來不斷重新整理當前狀態。如果在前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止。比較準確地說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用。記憶體使用和執行時間對任務進行排序;而且該命令的很多特性都可以透過互動式命令或者在個人定製檔案中進行設定。下面是一個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下使用得最常見的程式狀況檢視工具,它們是隨Linux套件發行的,安裝好系統之後,使用者就可以使用。當然,隨著開源的不斷發展,相信將會有更多的該方面的工具出現,以方便使用者選擇和使用。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1040133/,如需轉載,請註明出處,否則將追究法律責任。

相關文章