聲明:轉載注明出處!
注:
1、 PID文件
the pid files contains the process id (a number) of a given program. For example, Apache HTTPD may write it's main process number to a pid file - which is a regular text file, nothing more than that -, and later use the information there contained to stop itself. You can also use that information (just do a cat filename.pid) to kill the process yourself, using kill <the number in the .pid file>
vtun的pid文件不是必須的?
2、 守護進程
根據守護進程的啟動和管理方式,可以分為獨立啟動守護進程和超級守護進程兩類
獨立啟動(stand_alone):該類進程啟動后就常駐內存,所以會一直占用系統資源。
其最大的優點就是它會一直啟動,當外界有要求時相應速度較快
,像httpd等進程;
超級守護進程:系統啟動時由一個統一的守護進程xinet來負責管理一些進程,當相應請求到來時需要通過xinet的轉接才可以喚醒被xinet管理的進程。
這種進程的優點時最初只有
xinet
這一守護進程占有系統資源,其他的內部服務并不一直占有系統資源,只有數據包到來時才會被xinet
管理員來喚醒
。并且我們還可以通過xinet來對它所管理的進程設置一些訪問權限,相當于多了一層管理機制。
如果用兩個比喻來形容兩類守護進程的話一般會用銀行的業務處理窗口來類比:
獨立啟動:銀行里有一種單服務的窗口,像取錢,存錢等窗口,這些窗口邊上始終會坐著一個人,如果有人來取錢或存錢,可以直接到相應的窗口去辦理,這個處理單一服務的始終存在的人就是獨立啟動的守護進程;
超級守護進程:銀行里還有一種窗口,提供綜合服務,像匯款,轉賬,提款等業務;這種窗口附近也始終坐著一個人(xinet),她可能不提供具體的服務,提供具體服務的人在里面閑著聊天啊,喝茶啊,但是當有人來匯款時他會大聲喊一句,小王,有人匯款啦,然后里面管匯款的小王會立馬跑過來幫忙辦完匯款業務。其他的人繼續聊天,喝茶。這些負責具體業務的人我們就稱之為超級守護進程。當然可能匯款人會有一些規則,可能不能往北京匯款,他就會提早告訴xinet,所以如果有人來匯款想匯往北京的話,管理員就直接告訴他這個我們這里辦不到的,于是就根本不會去喊匯款員了,相當于提供了一層管理機制。針對這種窗口還存在多線程和單線程的區別:多線程:將所有用戶的要求都提上來,里面的人都別閑著了,都一起干活吧;單線程:大家都排好隊了,一個一個來,里面的人同一時間只有一個人在工作。
這里需要注意的是超級守護進程的管理員xinet也是一個守護進程,只不過它的任務就是傳話,其實這也是一個很具體很艱巨的任務哦。
當然每個守護進程都會監聽一個端口(銀行窗口),一些常用守護進程的監聽端口是固定的,像httpd監聽80端口, sshd監聽22端口等;我們可以將其理解為責任制,時候等待,有求必應。具體的端口信息可以通過cat /etc/services來查看。
結合vtun,這里的獨立啟動守護進程和超級守護進程是針對server的,當是獨立啟動守護進程時,server端的套接字創建、監聽、綁定、接受和讀寫等操作和平時編程一樣。當server是超級守護進程時,由系統(相當于server端的父進程)進行監聽,然后復制套接字描述符到0、1、2,server端對0 、1、2描述符的操作就是對該套接字的操作。
Server端建議用獨立啟動守護進程或者干脆不建立守護進程。
參考: http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
