Linux系統(tǒng)怎么創(chuàng)建守護(hù)進(jìn)程
Linux Daemon(守護(hù)進(jìn)程)是運(yùn)行在后臺(tái)的一種特殊進(jìn)程。它獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。它不需要用戶輸入就能運(yùn)行而且提供某種服務(wù),不是對(duì)整個(gè)系統(tǒng)就是對(duì)某個(gè)用戶程序提供服務(wù)。今天小編就來給大家科普一下什么是守護(hù)進(jìn)程以及l(fā)inux系統(tǒng)如何創(chuàng)建守護(hù)進(jìn)程。
創(chuàng)建守護(hù)進(jìn)程的步驟
首先我們要了解一些基本概念:
1、進(jìn)程組 :
每個(gè)進(jìn)程也屬于一個(gè)進(jìn)程組
每個(gè)進(jìn)程主都有一個(gè)進(jìn)程組號(hào),該號(hào)等于該進(jìn)程組組長的PID號(hào) 。
一個(gè)進(jìn)程只能為它自己或子進(jìn)程設(shè)置進(jìn)程組ID號(hào)
2、會(huì)話期:
會(huì)話期(session)是一個(gè)或多個(gè)進(jìn)程組的集合。
setsid()函數(shù)可以建立一個(gè)對(duì)話期:
如果,調(diào)用setsid的進(jìn)程不是一個(gè)進(jìn)程組的組長,此函數(shù)創(chuàng)建一個(gè)新的會(huì)話期。
(1)此進(jìn)程變成該對(duì)話期的首進(jìn)程
(2)此進(jìn)程變成一個(gè)新進(jìn)程組的組長進(jìn)程。
(3)此進(jìn)程沒有控制終端,如果在調(diào)用setsid前,該進(jìn)程有控制終端,那么與該終端的聯(lián)系被解除。 如果該進(jìn)程是一個(gè)進(jìn)程組的組長,此函數(shù)返回錯(cuò)誤。
(4)為了保證這一點(diǎn),我們先調(diào)用fork()然后exit(),此時(shí)只有子進(jìn)程在運(yùn)行
現(xiàn)在我們來給出創(chuàng)建守護(hù)進(jìn)程的所需步驟:
編寫守護(hù)進(jìn)程的一般步驟:
(1)在父進(jìn)程中執(zhí)行fork并exit推出;
(2)在子進(jìn)程中調(diào)用setsid函數(shù)創(chuàng)建新的會(huì)話;
(3)在子進(jìn)程中調(diào)用chdir函數(shù),讓根目錄 ”/” 成為子進(jìn)程的工作目錄;
(4)在子進(jìn)程中調(diào)用umask函數(shù),設(shè)置進(jìn)程的umask為0;
(5)在子進(jìn)程中關(guān)閉任何不需要的文件描述符
補(bǔ)充:系統(tǒng)常用維護(hù)技巧
1,在 “開始” 菜單中選擇 “控制面板” 選項(xiàng),打開 “控制面板” 窗口,單擊 “管理工具” 鏈接
2,在打開的 “管理工具” 窗口中雙擊 “事件查看器” 圖標(biāo)
3, 接著會(huì)打開 “事件查看器” 窗口
4,在右側(cè)窗格中的樹狀目錄中選擇需要查看的日志類型,如 “事件查看器本地--Win日志--系統(tǒng)日志,在接著在中間的 “系統(tǒng)” 列表中即查看到關(guān)于系統(tǒng)的事件日志
5,雙擊日志名稱,可以打開 “事件屬性” 對(duì)話框,切換到 “常規(guī)” 選項(xiàng)卡,可以查看該日志的常規(guī)描述信息
6,切換到 “詳細(xì)信息” 選項(xiàng)卡,可以查看該日志的詳細(xì)信息
7,打開 “控制面板” 窗口,單擊 “操作中心” 鏈接,打開 “操作中心” 窗口,展開 “維護(hù)” 區(qū)域
8,單擊 “查看可靠性歷史記錄” 鏈接,打開 “可靠性監(jiān)視程序” 主界面,如圖所示, 用戶可以選擇按天或者按周為時(shí)間單位來查看系統(tǒng)的穩(wěn)定性曲線表,如果系統(tǒng)近日沒出過什么狀況, 那么按周來查看會(huì)比較合適。觀察圖中的曲線可以發(fā)現(xiàn),在某段時(shí)間內(nèi),系統(tǒng)遇到些問題,可靠性指數(shù)曲線呈下降的趨勢,并且在這段時(shí)間系統(tǒng)遇到了三次問題和一次警告,在下方的列表中可以查看詳細(xì)的問題信息。
相關(guān)閱讀:系統(tǒng)故障導(dǎo)致死機(jī)怎么解決
1、病毒原因造成電腦頻繁死機(jī)
由于此類原因造成該故障的現(xiàn)象比較常見,當(dāng)計(jì)算機(jī)感染病毒后,主要表現(xiàn)在以下幾個(gè)方面:
?、傧到y(tǒng)啟動(dòng)時(shí)間延長;
②系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)一些不必要的程序;
③無故死機(jī)
?、芷聊簧铣霈F(xiàn)一些亂碼。
其表現(xiàn)形式層出不窮,由于篇幅原因就介紹到此,在此需要一并提出的是,倘若因?yàn)椴《緭p壞了一些系統(tǒng)文件,導(dǎo)致系統(tǒng)工作不穩(wěn)定,我們可以在安全模式下用系統(tǒng)文件檢查器對(duì)系統(tǒng)文件予以修復(fù)。
2、由于某些元件熱穩(wěn)定性不良造成此類故障(具體表現(xiàn)在CPU、電源、內(nèi)存條、主板)
對(duì)此,我們可以讓電腦運(yùn)行一段時(shí)間,待其死機(jī)后,再用手觸摸以上各部件,倘若溫度太高則說明該部件可能存在問題,我們可用替換法來診斷。值得注意的是在安裝CPU風(fēng)扇時(shí)最好能涂一些散熱硅脂,但我在某些組裝的電腦上卻是很難見其蹤影,實(shí)踐證明,硅脂能降低溫度5—10度左右,特別是P Ⅲ 的電腦上,倘若不涂散熱硅脂,計(jì)算機(jī)根本就不能正常工作,曾遇到過一次此類現(xiàn)象。該機(jī)主要配置如下:磐英815EP主板、PⅢ733CPU、133外頻的128M內(nèi)存條,當(dāng)該機(jī)組裝完后,頻繁死機(jī),連Windows系統(tǒng)都不能正常安裝,但是更換賽揚(yáng)533的CPU后,故障排除,懷疑主板或CPU有問題,但更換同型號(hào)的主板、CPU后該故障也不能解決。后來由于發(fā)現(xiàn)其溫度太高,在CPU上涂了一些散熱硅脂,故障完全解決。實(shí)踐證明在賽揚(yáng)533以上的CPU上必須要涂散熱硅脂,否則極有可能引起死機(jī)故障。
3、由于各部件接觸不良導(dǎo)致計(jì)算機(jī)頻繁死機(jī)
此類現(xiàn)象比較常見,特別是在購買一段時(shí)間的電腦上。由于各部件大多是靠金手指與主板接觸,經(jīng)過一段時(shí)間后其金手指部位會(huì)出現(xiàn)氧化現(xiàn)象,在拔下各卡后會(huì)發(fā)現(xiàn)金手指部位已經(jīng)泛黃,此時(shí),我們可用橡皮擦來回擦拭其泛黃處來予以清潔。
4、由于硬件之間不兼容造成電腦頻繁死機(jī)
此類現(xiàn)象常見于顯卡與其它部件不兼容或內(nèi)存條與主板不兼容,例如SIS的顯卡,當(dāng)然其它設(shè)備也有可能發(fā)生不兼容現(xiàn)象,對(duì)此可以將其它不必要的設(shè)備如Modem、聲卡等設(shè)備拆下后予以判斷。
5、軟件沖突或損壞引起死機(jī)
此類故障,一般都會(huì)發(fā)生在同一點(diǎn),對(duì)此可將該軟件卸掉來予以解決。