聲明:轉(zhuǎn)載注明出處!
注:
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、 守護(hù)進(jìn)程
根據(jù)守護(hù)進(jìn)程的啟動和管理方式,可以分為獨立啟動守護(hù)進(jìn)程和超級守護(hù)進(jìn)程兩類
獨立啟動(stand_alone):該類進(jìn)程啟動后就常駐內(nèi)存,所以會一直占用系統(tǒng)資源。
其最大的優(yōu)點就是它會一直啟動,當(dāng)外界有要求時相應(yīng)速度較快
,像httpd等進(jìn)程;
超級守護(hù)進(jìn)程:系統(tǒng)啟動時由一個統(tǒng)一的守護(hù)進(jìn)程xinet來負(fù)責(zé)管理一些進(jìn)程,當(dāng)相應(yīng)請求到來時需要通過xinet的轉(zhuǎn)接才可以喚醒被xinet管理的進(jìn)程。
這種進(jìn)程的優(yōu)點時最初只有
xinet
這一守護(hù)進(jìn)程占有系統(tǒng)資源,其他的內(nèi)部服務(wù)并不一直占有系統(tǒng)資源,只有數(shù)據(jù)包到來時才會被xinet
管理員來喚醒
。并且我們還可以通過xinet來對它所管理的進(jìn)程設(shè)置一些訪問權(quán)限,相當(dāng)于多了一層管理機(jī)制。
如果用兩個比喻來形容兩類守護(hù)進(jìn)程的話一般會用銀行的業(yè)務(wù)處理窗口來類比:
獨立啟動:銀行里有一種單服務(wù)的窗口,像取錢,存錢等窗口,這些窗口邊上始終會坐著一個人,如果有人來取錢或存錢,可以直接到相應(yīng)的窗口去辦理,這個處理單一服務(wù)的始終存在的人就是獨立啟動的守護(hù)進(jìn)程;
超級守護(hù)進(jìn)程:銀行里還有一種窗口,提供綜合服務(wù),像匯款,轉(zhuǎn)賬,提款等業(yè)務(wù);這種窗口附近也始終坐著一個人(xinet),她可能不提供具體的服務(wù),提供具體服務(wù)的人在里面閑著聊天啊,喝茶啊,但是當(dāng)有人來匯款時他會大聲喊一句,小王,有人匯款啦,然后里面管匯款的小王會立馬跑過來幫忙辦完匯款業(yè)務(wù)。其他的人繼續(xù)聊天,喝茶。這些負(fù)責(zé)具體業(yè)務(wù)的人我們就稱之為超級守護(hù)進(jìn)程。當(dāng)然可能匯款人會有一些規(guī)則,可能不能往北京匯款,他就會提早告訴xinet,所以如果有人來匯款想?yún)R往北京的話,管理員就直接告訴他這個我們這里辦不到的,于是就根本不會去喊匯款員了,相當(dāng)于提供了一層管理機(jī)制。針對這種窗口還存在多線程和單線程的區(qū)別:多線程:將所有用戶的要求都提上來,里面的人都別閑著了,都一起干活吧;單線程:大家都排好隊了,一個一個來,里面的人同一時間只有一個人在工作。
這里需要注意的是超級守護(hù)進(jìn)程的管理員xinet也是一個守護(hù)進(jìn)程,只不過它的任務(wù)就是傳話,其實這也是一個很具體很艱巨的任務(wù)哦。
當(dāng)然每個守護(hù)進(jìn)程都會監(jiān)聽一個端口(銀行窗口),一些常用守護(hù)進(jìn)程的監(jiān)聽端口是固定的,像httpd監(jiān)聽80端口, sshd監(jiān)聽22端口等;我們可以將其理解為責(zé)任制,時候等待,有求必應(yīng)。具體的端口信息可以通過cat /etc/services來查看。
結(jié)合vtun,這里的獨立啟動守護(hù)進(jìn)程和超級守護(hù)進(jìn)程是針對server的,當(dāng)是獨立啟動守護(hù)進(jìn)程時,server端的套接字創(chuàng)建、監(jiān)聽、綁定、接受和讀寫等操作和平時編程一樣。當(dāng)server是超級守護(hù)進(jìn)程時,由系統(tǒng)(相當(dāng)于server端的父進(jìn)程)進(jìn)行監(jiān)聽,然后復(fù)制套接字描述符到0、1、2,server端對0 、1、2描述符的操作就是對該套接字的操作。
Server端建議用獨立啟動守護(hù)進(jìn)程或者干脆不建立守護(hù)進(jìn)程。
參考: http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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