日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]1.什么是守護(hù)進(jìn)程守護(hù)進(jìn)程,也就是通常說(shuō)的Daemon(精靈)進(jìn)程, 是Linux中的一種服務(wù)進(jìn)程。它的特點(diǎn)是: 不占用控制終端(后臺(tái)運(yùn)行) 獨(dú)立于控制終端 周期性運(yùn)行

1.什么是守護(hù)進(jìn)程
守護(hù)進(jìn)程,也就是通常說(shuō)的Daemon(精靈)進(jìn)程, 是Linux中的一種服務(wù)進(jìn)程。它的特點(diǎn)是: 不占用控制終端(后臺(tái)運(yùn)行) 獨(dú)立于控制終端 周期性運(yùn)行 例如:smbd

2.1 后臺(tái)運(yùn)行
守護(hù)進(jìn)程需要獨(dú)立于任何一個(gè)控制終端。實(shí)現(xiàn)方法調(diào)用是通 過(guò)創(chuàng)建子進(jìn)程來(lái)充當(dāng)守護(hù)進(jìn)程,而父進(jìn)程退出,這樣子進(jìn)程 就可以在后臺(tái)運(yùn)行。(范例展示) pid=fork();
if(pid>0)
exit(0); //父進(jìn)程退出
else (pid==0)
{
//守護(hù)進(jìn)程
}
2.2 獨(dú)立于控制終端
守護(hù)進(jìn)程不能占用控制終端,因此需要在后臺(tái)運(yùn)行。實(shí)現(xiàn)方法是調(diào)用setsid()函數(shù)。 pid=fork();
if(pid>0)
exit(0); //父進(jìn)程退出
else (pid==0) //守護(hù)進(jìn)程
{
setsid();
。。。。。。
}
2.3.1 修改工作目錄
進(jìn)程活動(dòng)時(shí),其工作目錄所在的文件系統(tǒng)不能卸載。例如:我們是從/mnt/usb目錄下啟動(dòng)該守護(hù)進(jìn)程的,那么如果守護(hù)進(jìn)程的工作目錄就是/mnt/usb,我們就無(wú)法在守護(hù)進(jìn)程 還在運(yùn)行的情況下umount /mnt/usb。所以一般需要將守護(hù)的工作目錄切換到根目錄。 chdir("/");

2.3.2 修改文件權(quán)限掩碼
文件權(quán)限掩碼是指屏蔽掉文件權(quán)限中的對(duì)應(yīng)位。比如掩碼是00,它就屏蔽了文件創(chuàng)建者的可讀與可執(zhí)行權(quán)限。由于子進(jìn)程要繼承父進(jìn)程的文件權(quán)限掩碼,這勢(shì)必影響子進(jìn)程中新 創(chuàng)建的文件的訪問(wèn)權(quán)限,為避免該影響,就需要重新對(duì)子進(jìn)程中的權(quán)限掩碼清零。通常的使用方法為函數(shù): mask(0);

2.3.3 關(guān)閉打開文件 同文件權(quán)限碼一樣,子進(jìn)程還會(huì)從父進(jìn)程那里繼承一些已經(jīng)打開了的文件。這些被打開的文件可能永遠(yuǎn)不會(huì)被守護(hù)進(jìn)程讀寫,但它們一樣消耗系統(tǒng)資源,而且會(huì)導(dǎo)致文件所在的文 件系統(tǒng)無(wú)法卸載。因此在子進(jìn)程中需要將這些文件關(guān)閉。 for(i=0;i<MAXFILE;i++) close(i);


#include

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉