中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

守護(hù)進(jìn)程

守護(hù)進(jìn)程(daemon)是一類在后臺(tái)運(yùn)行的特殊進(jìn)程,用于執(zhí)行特定的系統(tǒng)任務(wù)。很多守護(hù)進(jìn)程在系統(tǒng)引導(dǎo)的時(shí)候啟動(dòng),并且一直運(yùn)行直到系統(tǒng)關(guān)閉。另一些只在需要的時(shí)候才啟動(dòng),完成任務(wù)后就自動(dòng)結(jié)束。

用戶使守護(hù)進(jìn)程獨(dú)立于所有終端是因?yàn)椋谑刈o(hù)進(jìn)程從一個(gè)終端啟動(dòng)的情況下,這同一個(gè)終端可能被其他的用戶使用。例如,用戶從一個(gè)終端啟動(dòng)守護(hù)進(jìn)程后退出,然后另外一個(gè)人也登錄到這個(gè)終端。用戶不希望后者在使用該終端的過程中,接收到守護(hù)進(jìn)程的任何錯(cuò)誤信息。同樣,由終端鍵人的任何信號(hào)(例如中斷信號(hào))也不應(yīng)該影響先前在該終端啟動(dòng)的任何守護(hù)進(jìn)程的運(yùn)行。雖然讓服務(wù)器后臺(tái)運(yùn)行很容易(只要shell命令行以&結(jié)尾即可),但用戶還應(yīng)該做些工作,讓程序本身能夠自動(dòng)進(jìn)入后臺(tái),且不依賴于任何終端。

創(chuàng)建步驟

  • 調(diào)用fork(),創(chuàng)建新進(jìn)程,它會(huì)是將來的守護(hù)進(jìn)程.
  • 在父進(jìn)程中調(diào)用exit,保證子進(jìn)程不是父進(jìn)程,成為孤兒進(jìn)程
  • 調(diào)用setsid()創(chuàng)建新的會(huì)話區(qū),讓進(jìn)程擺脫原會(huì)話的控制、讓進(jìn)程擺脫原進(jìn)程組的控制和讓進(jìn)程擺脫原控制終端的控制。(如果不進(jìn)行這步,孤兒進(jìn)程將會(huì)在控制終端退出后退出)
  • 將當(dāng)前目錄改成根目錄(如果把當(dāng)前目錄作為守護(hù)進(jìn)程的目錄,當(dāng)前目錄不能被卸載他作為守護(hù)進(jìn)程的工作目錄)
  • 將標(biāo)準(zhǔn)輸入,標(biāo)注輸出,標(biāo)準(zhǔn)錯(cuò)誤重定向到/dev/null.(否則會(huì)在控制終端中輸出)
  • 重設(shè)文件創(chuàng)建掩碼,文件創(chuàng)建掩碼是指屏蔽掉文件創(chuàng)建時(shí)的對(duì)應(yīng)位。由于使用fork函數(shù)新建的子進(jìn)程繼承了父進(jìn)程的文件創(chuàng)建掩碼,這就給該子進(jìn)程使用文件帶來了諸多的麻煩。因此,把文件創(chuàng)建掩碼設(shè)置為0,可以大大增強(qiáng)該守護(hù)進(jìn)程的靈活性。設(shè)置文件創(chuàng)建掩碼的函數(shù)是umask,通常的使用方法為umask(0)。
  • 關(guān)閉文件描述符,用fork新建的子進(jìn)程會(huì)從父進(jìn)程那里繼承一些已經(jīng)打開了的文件。這些被打開的文件可能永遠(yuǎn)不會(huì)被守護(hù)進(jìn)程讀或?qū)懀鼈円粯酉南到y(tǒng)資源,可能導(dǎo)致所在的文件系統(tǒng)無法卸載。

特點(diǎn)

首先,守護(hù)進(jìn)程最重要的特性是后臺(tái)運(yùn)行。其次,守護(hù)進(jìn)程必須與其運(yùn)行前的環(huán)境隔離開來。這些環(huán)境包括未關(guān)閉的文件描述符、控制終端、會(huì)話和進(jìn)程組、工作目錄以及文件創(chuàng)建掩碼等。這些環(huán)境通常是守護(hù)進(jìn)程從執(zhí)行它的父進(jìn)程(特別是shell)繼承下來的。最后,守護(hù)進(jìn)程的啟動(dòng)方式有其特殊之處。它可以在Linux系統(tǒng)啟動(dòng)時(shí)從啟動(dòng)腳本/etc/rc.d中啟動(dòng),也可以由作業(yè)控制進(jìn)程crond啟動(dòng),還可以由用戶終端(通常是shell)執(zhí)行。

除這些以外,守護(hù)進(jìn)程與普通進(jìn)程基本上沒有什么區(qū)別。因此,編寫守護(hù)進(jìn)樣實(shí)際上是把一個(gè)普通進(jìn)程按照上述的守護(hù)進(jìn)程的特性改造成為守護(hù)進(jìn)程。

分類

按照服務(wù)類型分為如下幾個(gè)。

  • 系統(tǒng)守護(hù)進(jìn)程:syslogd、login、crond、at等。
  • 網(wǎng)絡(luò)守護(hù)進(jìn)程:sendmail、httpd、xinetd、等。
  • 獨(dú)立啟動(dòng)的守護(hù)進(jìn)程:httpd、named、xinetd等。
  • 被動(dòng)守護(hù)進(jìn)程(由xinetd啟動(dòng)):telnet、finger、ktalk等。
主站蜘蛛池模板: 精品成人18 | 国产精品久久久久久亚洲调教 | 日韩国产在线 | 亚洲久久 | 久久国产精品一区 | 91免费观看视频 | 99久久综合精品五月天 | 中文精品一区二区 | 欧美激情久久久久久 | 久久99精品国产麻豆婷婷洗澡 | 天天色天天射天天操 | 亚洲一区在线免费观看 | 五月婷婷激情网 | 国产成人高清精品免费5388 | 亚洲成人网一区 | 一区二区三区四区国产 | 亚洲伦理一区 | 久久久精品网站 | 国产精品久久久久久久久小说 | 人妖天堂狠狠ts人妖天堂狠狠 | 欧美日韩激情一区 | 成年网站在线观看 | 日韩精品在线一区 | 狠狠色综合网站久久久久久久 | 国产精品一区二区三区四区 | 欧美视频免费在线 | 这里只有精品免费 | 亚洲国产视频网 | 亚洲综合区 | 日日操日日操 | 欧美日本亚洲 | 日韩电影在线看 | 国产乱码精品一区二区三区av | 亚洲精品国产片 | 91精品国产色综合久久不卡蜜臀 | 欧美成人一区二免费视频软件 | 欧美成人免费网站 | 综合在线视频 | 538在线| 精品国产乱码一区二区三区 | 九九porny88av |