Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks

          Linux 進(jìn)程管理

          作者: 北南南北
          來自: LinuxSir.Org
          摘要: 本文講述的時進(jìn)程管理的基本概念和進(jìn)程管理工具介紹;文中的重點對進(jìn)程管理工具的分類介紹及應(yīng)用舉例,包括 ps pgrep top kill pkill killall nice renice 等工具。

          目錄

          1 、程序和進(jìn)程;

          1.1 進(jìn)程分類;
          1.2 進(jìn)程的屬性;
          1.3 父進(jìn)程和子進(jìn)程;

          2 、進(jìn)程管理;

          2.1 ps 監(jiān)視進(jìn)程工具;

          2.1.1 ps 參數(shù)說明;
          2.1.2 ps 應(yīng)用舉例;

          2.2 pgrep

          3 、終止進(jìn)程的工具 kill killall pkill xkill

          3.1 kill
          3.2 killall
          3.3 pkill
          3.4 xkill

          4 top 監(jiān)視系統(tǒng)任務(wù)的工具;

          4.1 top 命令用法及參數(shù);
          4.2 top 應(yīng)用舉例;

          5 、進(jìn)程的優(yōu)先級: nice renice
          6 、關(guān)于本文;
          7 、后記;
          8 、參考文檔;
          9 、相關(guān)文檔;


          ++++++++++++++++++++++++++++++++++++++
          正文
          ++++++++++++++++++++++++++++++++++++++


          1
          、程序和進(jìn)程;

          程序是為了完成某種任務(wù)而設(shè)計的軟件,比如 OpenOffice 是程序。什么是進(jìn)程呢?進(jìn)程就是運行中的程序。

          一個運行著的程序,可能有多個進(jìn)程。 比如 LinuxSir.Org 所用的 WWW 服務(wù)器是 apache 服務(wù)器,當(dāng)管理員啟動服務(wù)后,可能會有好多人來訪問,也就是說許多用戶來同時請求 httpd 服務(wù), apache 服務(wù)器將會創(chuàng)建有多個 httpd 進(jìn)程來對其進(jìn)行服務(wù)。


          1.1
          進(jìn)程分類;

          進(jìn)程一般分為交互進(jìn)程、批處理進(jìn)程和守護(hù)進(jìn)程三類。

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

          [root@localhost ~]# chkconfig? --level 35? httpd on

          由于守護(hù)進(jìn)程是一直運行著的,所以它所處的狀態(tài)是等待請求處理任務(wù)。比如,我們是不是訪問 LinuxSir.Org LinuxSir.Org httpd 服務(wù)器都在運行,等待著用戶來訪問,也就是等待著任務(wù)處理。


          1.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)分為運行 R 、休眠 S 、僵尸 Z
          進(jìn)程執(zhí)行的優(yōu)先級;
          進(jìn)程所連接的終端名;
          進(jìn)程資源占用:比如占用資源大小(內(nèi)存、 CPU 占用量);


          1.3
          父進(jìn)程和子進(jìn)程;

          他們的關(guān)系是管理和被管理的關(guān)系,當(dāng)父進(jìn)程終止時,子進(jìn)程也隨之而終止。但子進(jìn)程終止,父進(jìn)程并不一定終止。比如 httpd 服務(wù)器運行時,我們可以殺掉其子進(jìn)程,父進(jìn)程并不會因為子進(jìn)程的終止而終止。

          在進(jìn)程管理中,當(dāng)我們發(fā)現(xiàn)占用資源過多,或無法控制的進(jìn)程時,應(yīng)該殺死它,以保護(hù)系統(tǒng)的穩(wěn)定安全運行;


          2
          、進(jìn)程管理;

          對于 Linux 進(jìn)程的管理,是通過進(jìn)程管理工具實現(xiàn)的,比如 ps kill pgrep 等工具;


          2.1 ps
          監(jiān)視進(jìn)程工具;

          ps 為我們提供了進(jìn)程的一次性的查看,它所提供的查看結(jié)果并不動態(tài)連續(xù)的;如果想對進(jìn)程時間監(jiān)控,應(yīng)該用 top 工具;


          2.1.1 ps
          的參數(shù)說明;

          ps 提供了很多的選項參數(shù),常用的有以下幾個;

          l? 長格式輸出;

          u? 按用戶名和啟動時間的順序來顯示進(jìn)程;

          j? 用任務(wù)格式來顯示進(jìn)程;

          f? 用樹形格式來顯示進(jìn)程;

          a? 顯示所有用戶的所有進(jìn)程(包括其它用戶);

          x? 顯示無控制終端的進(jìn)程;

          r? 顯示運行中的進(jìn)程;

          ww 避免詳細(xì)參數(shù)被截斷;

          我們常用的選項是組合是 aux lax ,還有參數(shù) f 的應(yīng)用;

          ps aux lax 輸出的解釋;

          USER????? 進(jìn)程的屬主;

          PID?????? 進(jìn)程的ID

          PPID? ??? 父進(jìn)程;

          %CPU????? 進(jìn)程占用的CPU百分比;

          %MEM????? 占用內(nèi)存的百分比;

          NI??????? 進(jìn)程的NICE值,數(shù)值大,表示較少占用CPU時間;

          VSZ ????? 進(jìn)程虛擬大小;

          RSS? ???? 駐留中頁的數(shù)量;

          TTY? ???? 終端ID

          STAT ???? 進(jìn)程狀態(tài)

          ??? D??? Uninterruptible sleep (usually IO)

          ??? R??? 正在運行可中在隊列中可過行的;

          ??? S??? 處于休眠狀態(tài);

          ??? T??? 停止或被追蹤;

          ??? W??? 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無效);

          ??? X??? 死掉的進(jìn)程(從來沒見過);

          ??? Z??? 僵尸進(jìn)程;

          ??? <??? 優(yōu)先級高的進(jìn)程

          ??? N??? 優(yōu)先級較低的進(jìn)程

          ??? L??? 有些頁被鎖進(jìn)內(nèi)存;

          ??? s??? 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);

          ??? l??? is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

          ??? +??? 位于后臺的進(jìn)程組; ?

          WCHAN???? 正在等待的進(jìn)程資源;

          START ??? 啟動進(jìn)程的時間;

          TIME????? 進(jìn)程消耗CPU的時間;

          COMMAND ? 命令的名稱和參數(shù);


          2.1.2 ps
          應(yīng)用舉例;

          實例一: ps aux 最常用

          [root@localhost ~]# ps -aux |more

          可以用 | 管道和 more 連接起來分頁查看;

          [root@localhost ~]# ps -aux? > ps001.txt
          [root@localhost ~]# more ps001.txt

          這里是把所有進(jìn)程顯示出來,并輸出到 ps001.txt 文件,然后再通過 more 來分頁查看;

          實例二:和 grep 結(jié)合,提取指定程序的進(jìn)程;

          [root@localhost ~]# ps aux |grep httpd
          root????? 4187? 0.0? 1.3? 24236 10272 ???????? Ss?? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4189? 0.0? 0.6? 24368? 4940 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4190? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4191? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4192? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4193? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4194? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4195? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4196? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00 /usr/sbin/httpd
          root????? 4480? 0.0? 0.0?? 5160?? 708 pts/3??? R+?? 12:20?? 0:00 grep httpd

          實例二:父進(jìn)和子進(jìn)程的關(guān)系友好判斷的例子

          [root@localhost ~]# ps auxf? |grep httpd
          root????? 4484? 0.0? 0.0?? 5160?? 704 pts/3??? S+?? 12:21?? 0:00????????????? \_ grep httpd
          root????? 4187? 0.0? 1.3? 24236 10272 ???????? Ss?? 11:55?? 0:00 /usr/sbin/httpd
          apache??? 4189? 0.0? 0.6? 24368? 4940 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4190? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4191? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4192? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4193? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4194? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4195? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd
          apache??? 4196? 0.0? 0.6? 24368? 4932 ???????? S??? 11:55?? 0:00? \_ /usr/sbin/httpd

          這里用到了 f 參數(shù);父與子關(guān)系一目了然;


          2.2 pgrep

          pgrep 是通過程序的名字來查詢進(jìn)程的工具,一般是用來判斷程序是否正在運行。在服務(wù)器的配置和管理中,這個工具常被應(yīng)用,簡單明了;

          用法:

          #ps 參數(shù)選項?? 程序名

          常用參數(shù)

          -l? 列出程序名和進(jìn)程ID
          -o? 進(jìn)程起始的ID
          -n? 進(jìn)程終止的ID

          舉例:

          [root@localhost ~]# pgrep -lo httpd
          4557 httpd

          [root@localhost ~]# pgrep -ln httpd
          4566 httpd

          [root@localhost ~]# pgrep -l httpd
          4557 httpd
          4560 httpd
          4561 httpd
          4562 httpd
          4563 httpd
          4564 httpd
          4565 httpd
          4566 httpd

          [root@localhost ~]# pgrep httpd
          4557
          4560
          4561
          4562
          4563
          4564
          4565
          4566


          3
          、終止進(jìn)程的工具 kill killall pkill xkill

          終止一個進(jìn)程或終止一個正在運行的程序,一般是通過 kill killall pkill xkill 等進(jìn)行。比如一個程序已經(jīng)死掉,但又不能退出,這時就應(yīng)該考慮應(yīng)用這些工具。

          另外應(yīng)用的場合就是在服務(wù)器管理中,在不涉及數(shù)據(jù)庫服務(wù)器程序的父進(jìn)程的停止運行,也可以用這些工具來終止。為什么數(shù)據(jù)庫服務(wù)器的父進(jìn)程不能用這些工具殺死呢?原因很簡單,這些工具在強(qiáng)行終止數(shù)據(jù)庫服務(wù)器時,會讓數(shù)據(jù)庫產(chǎn)生更多的文件碎片,當(dāng)碎片達(dá)到一定程度的時候,數(shù)據(jù)庫就有崩潰的危險。比如 mysql 服務(wù)器最好是按其正常的程序關(guān)閉,而不是用 pkill mysqld killall mysqld 這樣危險的動作;當(dāng)然對于占用資源過多的數(shù)據(jù)庫子進(jìn)程,我們應(yīng)該用 kill 來殺掉。


          3.1 kill

          kill 的應(yīng)用是和 ps pgrep 命令結(jié)合在一起使用的;

          kill 的用法:

          kill [信號代碼]?? 進(jìn)程ID

          注: 信號代碼可以省略;我們常用的信號代碼是 -9 ,表示強(qiáng)制終止;

          舉例:

          [root@localhost ~]# ps? auxf? |grep?? httpd
          root????? 4939? 0.0? 0.0?? 5160?? 708 pts/3??? S+?? 13:10?? 0:00????????????? \_ grep httpd
          root????? 4830? 0.1? 1.3? 24232 10272 ???????? Ss?? 13:02?? 0:00 /usr/sbin/httpd
          apache??? 4833? 0.0? 0.6? 24364? 4932 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4834? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4835? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4836? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4837? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4838? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4839? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd
          apache??? 4840? 0.0? 0.6? 24364? 4928 ???????? S??? 13:02?? 0:00? \_ /usr/sbin/httpd

          我們查看 httpd 服務(wù)器的進(jìn)程;您也可以用 pgrep -l httpd 來查看;

          我們看上面例子中的第二列,就是進(jìn)程 PID 的列,其中 4830 httpd 服務(wù)器的父進(jìn)程,從 4833 4840 的進(jìn)程都是它 4830 的子進(jìn)程;如果我們殺掉父進(jìn)程 4830 的話,其下的子進(jìn)程也會跟著死掉;

          [root@localhost ~]# kill 4840? 注:殺掉4840這個進(jìn)程;

          [root@localhost ~]# ps -auxf? |grep? httpd? 注:查看一下會有什么結(jié)果?是不是httpd服務(wù)器仍在運行?
          [root@localhost ~]# kill 4830?? 注:殺掉httpd的父進(jìn)程;
          [root@localhost ~]# ps -aux |grep httpd? 注:查看httpd的其它子進(jìn)程是否存在,httpd服務(wù)器是否仍在運行?

          對于僵尸進(jìn)程,可以用 kill -9 來強(qiáng)制終止退出;

          比如一個程序已經(jīng)徹底死掉,如果 kill 不加信號強(qiáng)度是沒有辦法退出,最好的辦法就是加信號強(qiáng)度 -9 ,后面要接殺父進(jìn)程;比如;

          [root@localhost ~]# ps aux |grep gaim
          beinan??? 5031? 9.0? 2.3 104996 17484 ???????? S??? 13:23?? 0:01 gaim
          root????? 5036? 0.0? 0.0?? 5160?? 724 pts/3??? S+?? 13:24?? 0:00 grep gaim



          [root@localhost ~]# pgrep -l gaim
          5031 gaim
          [root@localhost ~]# kill -9 5031


          3.2 killall

          killall 通過程序的名字,直接殺死所有進(jìn)程,咱們簡單說一下就行了。


          用法: killall 正在運行的程序名

          killall 也和 ps pgrep 結(jié)合使用,比較方便;通過 ps pgrep 來查看哪些程序在運行;

          舉例:

          [root@localhost beinan]# pgrep -l gaim
          2979 gaim

          [root@localhost beinan]# killall gaim


          3.3 pkill

          pkill killall 應(yīng)用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進(jìn)程,請用 kill 來殺掉。

          應(yīng)用方法:

          #pkill? 正在運行的程序名

          舉例:

          [root@localhost beinan]# pgrep -l gaim
          2979 gaim

          [root@localhost beinan]# pkill gaim


          3.4 xkill

          xkill 是在桌面用的殺死圖形界面的程序。比如當(dāng) firefox 出現(xiàn)崩潰不能退出時,點鼠標(biāo)就能殺死 firefox 。當(dāng) xkill 運行時出來和個人腦骨的圖標(biāo),哪個圖形程序崩潰一點就 OK 了。如果您想終止 xkill ,就按右鍵取消;

          xkill 調(diào)用方法:

          [root@localhost ~]# xkill


          4
          top 監(jiān)視系統(tǒng)任務(wù)的工具;

          ps 相比, top 是動態(tài)監(jiān)視系統(tǒng)任務(wù)的工具, top 輸出的結(jié)果是連續(xù)的;


          4.1 top
          命令用法及參數(shù);

          top 調(diào)用方法:

          top 選擇參數(shù)

          參數(shù):

          -b? 以批量模式運行,但不能接受命令行輸入;
          -c 顯示命令行,而不僅僅是命令名;
          -d N? 顯示兩次刷新時間的間隔,比如 -d 5,表示兩次刷新間隔為5秒;
          -i 禁止顯示空閑進(jìn)程或僵尸進(jìn)程;
          -n NUM? 顯示更新次數(shù),然后退出。比如 -n 5,表示top更新5次數(shù)據(jù)就退出;
          -p PID 僅監(jiān)視指定進(jìn)程的IDPID是一個數(shù)值;
          -q? 不經(jīng)任何延時就刷新;
          -s? 安全模式運行,禁用一些效互指令;
          -S 累積模式,輸出每個進(jìn)程的總的CPU時間,包括已死的子進(jìn)程;


          交互式命令鍵位:

          space? 立即更新;
          c 切換到命令名顯示,或顯示整個命令(包括參數(shù));
          f,F 增加顯示字段,或刪除顯示字段;
          h,? 顯示有關(guān)安全模式及累積模式的幫助信息;
          k 提示輸入要殺死的進(jìn)程ID,目的是用來殺死該進(jìn)程(默人信號為15
          i 禁止空閑進(jìn)程和僵尸進(jìn)程;
          l 切換到顯法負(fù)載平均值和正常運行的時間等信息;
          m 切換到內(nèi)存信息,并以內(nèi)存占用大小排序;
          n? 提示顯示的進(jìn)程數(shù),比如輸入3,就在整屏上顯示3個進(jìn)程;
          o,O 改變顯示字段的順序;
          r renice 應(yīng)用到一個進(jìn)程,提示輸入PIDrenice的值;
          s 改變兩次刷新時間間隔,以秒為單位;
          t 切換到顯示進(jìn)程和CPU狀態(tài)的信息;
          A 按進(jìn)程生命大小進(jìn)行排序,最新進(jìn)程顯示在最前;
          M 按內(nèi)存占用大小排序,由大到小;
          N 以進(jìn)程ID大小排序,由大到小;
          P CPU占用情況排序,由大到小
          S 切換到累積時間模式;
          T? 按時間/累積時間對任務(wù)排序;
          W 把當(dāng)前的配置寫到~/.toprc中;


          4.2 top
          應(yīng)用舉例;

          [root@localhost ~]# top

          然后根據(jù)前面所說交互命令按個嘗試一下就明白了,比如按 M ,就按內(nèi)存占用大小排序;這個例子舉不舉都沒有必要了。呵。。。。。。

          當(dāng)然您可以把 top 的輸出傳到一個文件中;

          [root@localhost ~]# top > mytop.txt

          然后我們就可以查看 mytop 文件,以慢慢的分析系統(tǒng)進(jìn)程狀態(tài);


          5
          、進(jìn)程的優(yōu)先級: nice renice

          Linux 操作系統(tǒng)中,進(jìn)程之間是竟?fàn)庂Y源(比如 CPU 和內(nèi)存的占用)關(guān)系。這個竟?fàn)巸?yōu)劣是通過一個數(shù)值來實現(xiàn)的,也就是謙讓度。高謙讓度表示進(jìn)程優(yōu)化級別最低。負(fù)值或 0 表示對高優(yōu)點級,對其它進(jìn)程不謙讓,也就是擁有優(yōu)先占用系統(tǒng)資源的權(quán)利。謙讓度的值從 20 19

          目前硬件技術(shù)發(fā)展極速,在大多情況下,不必設(shè)置進(jìn)程的優(yōu)先級,除非在進(jìn)程失控而瘋狂占用資源的情況下,我們有可能來設(shè)置一下優(yōu)先級,但我個人感覺沒有太大的必要,在迫不得已的情況下,我們可以殺掉失控進(jìn)程。

          nice 可以在創(chuàng)建進(jìn)程時,為進(jìn)程指定謙讓度的值,進(jìn)程的優(yōu)先級的值是父進(jìn)程 SHELL 的優(yōu)先級的值與我們所指定謙讓度的相加和。所以我們在用 nice 設(shè)置程序的優(yōu)先級時,所指定數(shù)值是一個增量,并不是優(yōu)先級的絕對值;

          nice 的應(yīng)用舉例:

          [root@localhost ~]# nice -n 5? gaim &?? 注:運行gaim程序,并為它指定謙讓度增量為5

          所以 nice 的最常用的應(yīng)用就是:

          nice? -n? 謙讓度的增量值?? 程序

          renice 是通過進(jìn)程 ID PID )來改變謙讓度,進(jìn)而達(dá)到更改進(jìn)程的優(yōu)先級。

          renice? 謙讓度??? PID

          renice 所設(shè)置的謙讓度就是進(jìn)程的絕對值;看下面的例子;

          [root@localhost ~]# ps lax?? |grep gaim

          4???? 0? 4437? 3419? 10? -5 120924 20492 -????? S<?? pts/0????? 0:01 gaim

          0???? 0? 4530? 3419? 10? -5?? 5160?? 708 -????? R<+? pts/0????? 0:00 grep gaim

          ?

          [root@localhost ~]# renice -6? 4437

          4437: old priority -5, new priority -6

          ?

          [root@localhost ~]# ps lax?? |grep gaim

          4???? 0? 4437? 3419? 14? -6 120924 20492 -????? S<?? pts/0????? 0:01 gaim

          0???? 0? 4534? 3419? 11? -5?? 5160?? 708 -????? R<+? pts/0????? 0:00 grep gaim


          6
          、關(guān)于本文;

          進(jìn)程管理還是需要的,雖然在桌面應(yīng)用上,我們點鼠標(biāo)就能完成大多的工作,但在服務(wù)器管理中,進(jìn)程管理還是十分重要的。

          有的弟兄會說,為什么您不說說在桌面環(huán)境中的圖形管理的進(jìn)程工具。我感覺沒有太大的必要,如果您會點鼠標(biāo)就應(yīng)該能找到有關(guān)進(jìn)程管理的工具。

          還有的弟兄會說: Windows 的進(jìn)程管理真的很方便,按一下 CTRL ALT DEL 就可以調(diào)出來,隨便你怎么殺和砍。我感覺 Windows 的進(jìn)程管理并不怎么樣,如果有的程序真的需要 CTRL ALT DEL 的話,呵,那肯定會出現(xiàn)系統(tǒng)假死現(xiàn)象。或者程序錯誤之類的提示。弄不好就得重啟,這是事實吧。

          Windows 的進(jìn)程管理并不優(yōu)秀,只是一個友好的界面而已,我想我說的沒錯吧;


          7
          、后記;

          近些天一直在為網(wǎng)絡(luò)基礎(chǔ)文檔做計劃,當(dāng)然也隨手寫一寫自己能寫的文檔, 比如本篇就是; 也想把論壇中的一些弟兄優(yōu)秀的教程整理出來,但后來一想,如果提交到 LinuxSir.Org 首頁上,肯定得做一些修改,如果我來修改倒不如讓作者自己來修改,自己寫的東西自己最明白,對不對???

          在準(zhǔn)備網(wǎng)絡(luò)文檔計劃的過程中,向 etony 兄請教了一些基本的網(wǎng)絡(luò)基礎(chǔ)知識。我對網(wǎng)絡(luò)基礎(chǔ)理論基本不懂。聽 tony 兄解說的同時,我也做了筆記。同時也和 tony 兄討論了網(wǎng)絡(luò)基礎(chǔ)篇的布局和謀篇的事,這關(guān)系到初學(xué)者入手的問題,好象是小事,其實事情比較大。如果寫的文檔,新手讀不懂,老鳥又認(rèn)為沒有價值,我看倒不如不寫。

          ?

          posted on 2009-01-14 19:57 decode360 閱讀(300) 評論(0)  編輯  收藏 所屬分類: 03.Linux
          主站蜘蛛池模板: 衡水市| 英吉沙县| 安新县| 偃师市| 庆元县| 堆龙德庆县| 英吉沙县| 西乡县| 杭锦后旗| 称多县| 湖口县| 酒泉市| 夏河县| 荥阳市| 鄱阳县| 武夷山市| 咸丰县| 沅陵县| 绵阳市| 乐陵市| 淮安市| 邳州市| 天水市| 屏东县| 新疆| 平定县| 聂荣县| 浙江省| 和静县| 孝感市| 房山区| 南安市| 壤塘县| 河北省| 平潭县| 安化县| 巴塘县| 元氏县| 平定县| 宣武区| 五河县|