原创 回調函數 與函數指針

函數指針的定義:返回值類型 ( * 指針變量名) (形參列表);1:"返回值類型"說明函數的返回類型,"(指針變量名 )"中的括號不能省,括號改變了運算符的優先級。若省略整體則成爲一個函數說明,說明了一個返回的數據類型是指針的函數,後面的"

原创 可重入函數與線程安全的區別和聯繫

1.關於可重入函數當捕捉到信號時,不論進程的主控制流程當前執行到哪,都會先跳到信號處理函數中執行,從信號處理函數返回後再繼續執行主控制流程。信號處理函數是一個單獨的控制流程,因爲它和主控制流程是異步的,二者不存在調用和被調用的關係,並且使用

原创 關於SIGCHLD 信號

1.關於SIGCHLD 信號  wait 和 waitpid函數清理殭屍進程,父進程可以阻塞等待子進程結束,也可以阻塞地查詢是否有進程結束等待清理(也就是輪詢的方式)。採用第一種方式,父進程阻塞就不能處理自己的工作了。採用第二種方式,父進程

原创 終端、作業控制與守護進程

一.1.進程組  每個進程除了有一個ID,還屬於一個進程組。進程組是一個或多個進程的集合。通常,它們與同一作業相關聯,可以接收來自同一終端的各種信號。每個進程組有唯一的一個進程組ID,每個進程組都有一個組長進程。組長進程的標識是,其進程組I

原创 二叉搜索樹

二叉搜索樹 二叉搜索樹又被稱爲二叉查找樹、二叉排序樹。其具備以下性質:  1> 每一個節點都有一個作爲搜索依據的關鍵碼(key),並且互不相同    2>左節點的關鍵碼都小於根結點的關鍵碼    3>右節點的關鍵碼都大於根結點的關鍵碼   

原创 sed的工作原理及使用

  1.sed的概念      sed意爲流編輯器(Stream Editor),在Shell腳本和Makefile中作爲過濾器使用非常普遍,也就是把前一個程序的輸出引入sed的輸入,經過一系列編輯命令轉換爲另一種格式輸出。sed 是基於B

原创 代理服務器和網絡地址轉換NAT

一.代理服務器1.代理服務器的基本概念    代理服務器是網絡信息的中轉站,簡單來說就是個人網絡和因特網服務商之間的代理機構,它負責轉發合法的網絡信息,並對轉發進行控制和登記。   在使用網絡瀏覽器瀏覽網絡信息的時候,如果使用代理服務器,瀏

原创 有關url

1.url:URL(Uniform Resoure Locator:統一資源定位器),是Internet上用來描述信息資源的字符串,可以幫助計算機來定位這些Web上可用資源。 以下是一個典型的URL例子: http://localhost:

原创 終端、作業控制與守護進程

一.1.進程組  每個進程除了有一個ID,還屬於一個進程組。進程組是一個或多個進程的集合。通常,它們與同一作業相關聯,可以接收來自同一終端的各種信號。每個進程組有唯一的一個進程組ID,每個進程組都有一個組長進程。組長進程的標識是,其進程組I

原创 多路I/O poll編寫服務器

一.poll (多路複用I/O poll) 和select()函數一樣,poll函數也可以執行多路I/O複用,但poll與select相比,沒有像select那樣構建結構體的三個數組(針對每一個條件分別有一個數組:讀事件,寫事件,異常),然

原创 如何讓server避免2MSL

1.首先根據TCP協議,主動發起關閉的一方會進入TIME_WAIT狀態,持續2MSL.對於基於TCP的HTTP協議,如果關閉TCP連接的是Server端,這樣,Server端會進入TIME_WAIT狀態,對於訪問量大的Web Server,

原创 高級IO編程

一.5種I/O模型  一個I/O可以分爲兩個過程:等待和數據搬遷。1.阻塞I/O  兩個過程都有自己來完成,其他什麼事也不做。   2.非阻塞I/O  在等的過程中可以幹一些其他的事,等到數據準備好再進行搬遷3.信號驅動I/O   等數據準

原创 shell下正則表達式與其工具grep

一.grep相關知識1.grep     grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使

原创 shell腳本知識

1.Shell     Shell的作用是解釋執行用戶的命令,用戶輸入一條命令,Shell就解釋執行一條,這種方式稱爲交互式(Interactive),Shell還有一種執行命令的方式稱爲批處理(Batch),用戶事先寫一 個Shell腳本

原创 http協議下的keep alive

1.keep-alive    linux內核配置有一項tcp_keepalive_time,即tcp的保活定時器。當網絡上兩個建立連接的進程都沒有數據向對方發送的時候,tcp會隔段時間發送一次保活數據,以保持連接,間隔時間就是tcp_ke