欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種Linux系統(tǒng)的初始化方法和裝置與流程

文檔序號:11133693閱讀:465來源:國知局
一種Linux系統(tǒng)的初始化方法和裝置與制造工藝

本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種Linux系統(tǒng)的初始化方法和裝置。



背景技術(shù):

基于Linux的操作系統(tǒng)(基于Linux的衍生系統(tǒng))在使用inittab文件進行系統(tǒng)初始化后,通常會啟動一個終端監(jiān)聽程序。該終端監(jiān)聽程序,可為用戶提供一個命令行界面,用戶可以在該命令行界面中輸入該基于Linux的操作系統(tǒng)所提供的命令,執(zhí)行一些該基于Linux的操作系統(tǒng)受限的功能,而并不能直接進入原生Linux系統(tǒng)的shell模式,輸入原生Linux系統(tǒng)自帶的命令,進行任意的操作。

然而,該終端監(jiān)聽程序由于某種異常原因(比如進程因故障崩潰,或者被系統(tǒng)維護人員主動終止,或者為了修復(fù)該進程局部故障而需重啟該進程等)退出運行時,為了防止非法訪問者在終端監(jiān)聽程序崩潰后用戶無須最高權(quán)限直接操作設(shè)備,造成安全問題,操作系統(tǒng)通常會自動切換到登錄驗證程序,只有當(dāng)管理員通過用戶賬號及密碼進行驗證后,才能夠重新啟動終端監(jiān)聽程序。



技術(shù)實現(xiàn)要素:

有鑒于此,本申請?zhí)峁┮环NLinux系統(tǒng)的初始化方法和裝置,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,用于提高設(shè)備的可用性。

具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:

一種Linux系統(tǒng)的初始化方法,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,其中,所述Linux系統(tǒng)的inittab文件中的respawn程序被修改為自定義respawn程序(以下簡稱為respawn程序),包括:

當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn指定的程序;

respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;

如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

一種Linux系統(tǒng)的初始化裝置,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,其中,所述Linux系統(tǒng)的inittab文件中的respawn程序被修改為自定義respawn程序(以下簡稱為respawn程序),包括:

運行單元,用于當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn指定的程序;

判斷單元,用于respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;

執(zhí)行單元,用于如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

由以上本申請?zhí)峁┑募夹g(shù)方案可見,通過當(dāng)終端監(jiān)聽程序失去相應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn程序;然后reapawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義的程序,該自定義的程序會啟動終端監(jiān)聽程序,因此當(dāng)wait中的程序中終端監(jiān)聽程序退出之后,會自動執(zhí)行respawn中的程序,將終端監(jiān)聽程序自動重啟,從而可以避免終端程序退出后,需要管理員來進行驗證登錄后才可以重啟終端監(jiān)聽程序,進而可以實現(xiàn)提高設(shè)備可用性的目的。

另一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義的程序,該自定義的程序中可以檢查終端監(jiān)聽程序的啟動次數(shù),當(dāng)終端監(jiān)聽程序啟動的次數(shù)超過預(yù)設(shè)閾值時,系統(tǒng)可以終止終端監(jiān)聽程序,并啟動登錄驗證程序,等待系統(tǒng)管理員的處理,因此可以避免終端監(jiān)聽程序本身存在嚴(yán)重故障時,導(dǎo)致系統(tǒng)忙于無限重啟終端監(jiān)聽程序的狀態(tài),造成console端口無法進行任何操作,從而可以實現(xiàn)提高設(shè)備可用性的目的。

附圖說明

圖1為本申請一示例性實施例示出的一種Linux系統(tǒng)的初始化方法流程圖;

圖2為本申請一示例性實施例示出的一種Linux系統(tǒng)的初始化裝置所在搭載Linux系統(tǒng)的終端設(shè)備的一種硬件結(jié)構(gòu)圖;

圖3為本申請一示例性實施例示出的一種Linux系統(tǒng)的初始化裝置。

具體實施方式

這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。

在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。

相關(guān)技術(shù)中,Linux系統(tǒng)可以通過使用/etc/inittab文件進行系統(tǒng)初始化,該文件內(nèi)容形式如下:

::sysinit:/etc/init.d/sysinit

::wait:-/usr/bin/startup

::respawn:/sbin/agetty

其中,Linux系統(tǒng)程序分為內(nèi)核態(tài)程序和用戶態(tài)程序。內(nèi)核態(tài)程序可以長期存在,如果出現(xiàn)故障則會導(dǎo)致Linux系統(tǒng)崩潰重啟,因此它的生命周期可以被認為與系統(tǒng)的生命周期等長。

當(dāng)Linux系統(tǒng)啟動時,首先內(nèi)核態(tài)程序會初始化,然后會解析/etc/inittab文件,啟動sysinit指定的程序,該程序一般可以用于文件系統(tǒng)的初始化。接著wait指定的程序會啟動,該程序一般可以用于用戶態(tài)模塊配置恢復(fù),然后會啟動終端監(jiān)聽程序,由終端監(jiān)聽程序管理console端口;其中,所述console端口是網(wǎng)絡(luò)/安全設(shè)備常見的一種控制端口,可以使用專用的連接線連接設(shè)備的console口和PC,然后可以通過PC端的終端仿真程序接管console端口對設(shè)備進行管理,管理界面為命令行界面。終端監(jiān)聽程序啟動之后,用戶只可以執(zhí)行由該終端監(jiān)聽程序提供的命令,而不能執(zhí)行Linux系統(tǒng)自帶的終端監(jiān)聽程序(如shell)提供的命令(比如ls、mv、rm等)。

當(dāng)終端監(jiān)聽程序由于某種原因退出時(比如進程因故障崩潰,或者被內(nèi)核態(tài)程序主動停止,以及系統(tǒng)維護人員為了修復(fù)該進程局部故障而需要重啟該進程等原因),respawn行代表的程序就會啟動,該程序一般為一個控制臺登錄驗證程序(比如agetty),在終端程序退出后,系統(tǒng)會自動切換到該程序,在這種情況下,需要通過管理員用專用連接線連接設(shè)備的console口與PC,通過PC端的終端仿真程序接管console端口,然后在PC端顯示登錄驗證界面,使用用戶賬號及密碼來驗證登錄,進而來重新啟動終端監(jiān)聽程序。

一方面,終端監(jiān)聽程序退出后,必須通過專用連接線連接PC與設(shè)備的console口,然后通過PC端的終端仿真程序來接管console端口,進而會在PC端的顯示登錄驗證界面,可以讓管理進行登錄驗證操作,恢復(fù)終端監(jiān)聽程序的運行,然而執(zhí)行操作之前必須先用用戶密碼登錄,設(shè)備用戶密碼原則上只有設(shè)備廠商知道,而購買并使用該設(shè)備的用戶無權(quán)知道,因此在終端監(jiān)聽程序退出時,需要由廠商派專人進行處理,從而降低了設(shè)備的可用性。其中,所述可用性為在某個考察時間內(nèi),系統(tǒng)或者特定程序能夠正常運行的概率或時間占有率期望值。

另一方面,終端監(jiān)聽程序雖然沒有退出,但由于某種原因(比如受到特定報文攻擊)導(dǎo)致該進程沒響應(yīng),通過console端口、telnet、SSH(Secure Shell,安全外殼協(xié)議)等均無法操作,如果沒有其它手段終止終端監(jiān)聽程序,會導(dǎo)致終端監(jiān)聽程序進入不可用狀態(tài),從而也會降低設(shè)備的可用性。

為了解決相關(guān)技術(shù)中的問題,本申請?zhí)峁┝艘环NLinux系統(tǒng)的初始化方法,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,通過當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn程序;然后respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義respawn程序,該自定義的respawn程序會啟動終端監(jiān)聽程序,因此當(dāng)wait中的程序中終端監(jiān)聽程序退出之后,會自動執(zhí)行respawn中的程序,將終端監(jiān)聽程序自動重啟,從而可以避免終端程序退出后,需要管理員來進行驗證登錄后才可以重啟終端監(jiān)聽程序,進而可以實現(xiàn)提高設(shè)備可用性的目的。

另一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義的respawn程序,該自定義的respawn程序中可以檢查終端監(jiān)聽程序的啟動次數(shù),當(dāng)終端監(jiān)聽程序啟動的次數(shù)超過預(yù)設(shè)閾值時,系統(tǒng)可以終止終端監(jiān)聽程序,并啟動登錄驗證程序,等待系統(tǒng)管理員的處理,因此可以避免終端監(jiān)聽程序本身存在嚴(yán)重故障時,導(dǎo)致系統(tǒng)忙于無限重啟終端監(jiān)聽程序的狀態(tài),造成console端口無法進行任何操作,從而可以實現(xiàn)提高設(shè)備可用性的目的。

此外,通過內(nèi)核態(tài)程序檢測在定時時間內(nèi)是否接收到終端監(jiān)聽程序周期性發(fā)送的存活信息,來判斷終端監(jiān)聽程序是否處于無響應(yīng)狀態(tài)。當(dāng)終端監(jiān)聽程序處于無響應(yīng)狀態(tài),內(nèi)核態(tài)程序則可以終止終端監(jiān)聽程序,通過respawn自動重啟終端監(jiān)聽程序,因此可以避免終端監(jiān)聽進程無響應(yīng)時,終端監(jiān)聽程序長時間無法提供服務(wù)的情況的發(fā)生,從而可以實現(xiàn)提高設(shè)備可用性的目的。

請參見圖1,圖1為本申請一示例性實施例示出的一種Linux系統(tǒng)的初始化方法流程圖,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,其中,所述Linux系統(tǒng)的inittab文件中的respawn指定的程序被修改為自定義respawn程序(以下稱為respawn程序),具體執(zhí)行如下步驟:

步驟101:當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn程序;

步驟102:respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;

步驟103:如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

在本例中,為了避免終端監(jiān)聽程序異常退出后,終端監(jiān)聽程序無法自動重啟,而造成服務(wù)中斷問題,可以對現(xiàn)有的基于Linux的操作系統(tǒng)的初始化流程進行修改,具體地,可以通過將所述Linux系統(tǒng)的inittab文件中的respawn指定的登錄驗證程序修改為終端監(jiān)聽程序。

例如,以基于Linux的衍生操作系統(tǒng)Conplat為例,在Conplat操作系統(tǒng)中,上述終端監(jiān)聽程序為conplat_cli,在這種情況下,可以將::respawn:/sbin/agetty修改為::respawn:conplat_cli,當(dāng)Linux系統(tǒng)初始化時,會按順序先執(zhí)行::sysinit:/etc/init.d/sysinit,執(zhí)行完sysinit行的程序后,會接著執(zhí)行::wait:-/usr/bin/startup,然后終端監(jiān)聽程序就可以接管console端口了。

當(dāng)終端監(jiān)聽程序因為一些異常原因退出(包括被內(nèi)核態(tài)程序強行終止或終端監(jiān)聽程序出現(xiàn)導(dǎo)致自身終止的故障,如內(nèi)存訪問錯誤)時,在這樣的情況下,系統(tǒng)可以自動執(zhí)行respawn指定的程序,也就是上述終端監(jiān)聽程序。從而,可以避免終端程序退出后,需要管理員來進行驗證登錄后才可以重啟終端監(jiān)聽程序,進而可以實現(xiàn)提高設(shè)備可用性的目的。

然而,考慮到終端監(jiān)聽程序本身可能會存在嚴(yán)重故障,在特定條件下無法啟動,導(dǎo)致系統(tǒng)忙于無限重啟終端監(jiān)聽程序,造成console端口無法進行任何操作,而且由于終端監(jiān)聽程序的自動重啟是由系統(tǒng)本身來自動重啟的,因此管理員無法終止,一旦出現(xiàn)這類故障,系統(tǒng)將失去響應(yīng),無法管理。

為了解決上述問題,可以通過將respawn指定的程序進行修改,使該程序具備檢測終端監(jiān)聽程序啟動次數(shù)的功能。

當(dāng)Linux系統(tǒng)的初始化過程運行到respawn指定的程序時,終端監(jiān)聽程序會自動重新啟動,然后respawn程序可以通過檢查自系統(tǒng)啟動以來,終端監(jiān)聽程序的啟動次數(shù)是否達到預(yù)設(shè)閾值,當(dāng)終端監(jiān)聽程序的啟動次數(shù)達到預(yù)設(shè)閾值,則respawn程序可以終止終端監(jiān)聽程序的自動重啟,轉(zhuǎn)換為啟動登錄驗證程序,等待系統(tǒng)管理員來進行登錄驗證并解決問題之后,恢復(fù)終端監(jiān)聽程序的自動重啟流程。

例如,仍以基于Linux的衍生操作系統(tǒng)Conplat為例,在Conplat操作系統(tǒng)中,上述終端監(jiān)聽程序為conplat_cli,在實現(xiàn)時可以修改終端監(jiān)聽程序conplat_cli,使其具有啟動次數(shù)檢查功能,修改后的終端監(jiān)聽程序為conplat_respawn,可以將respawn指定的程序修改為終端監(jiān)聽程序conplat_respawn,并通過修改后的終端監(jiān)聽程序conplat_respawn來進行終端監(jiān)聽程序的啟動次數(shù)的檢查。

在示出的一種實施方式中,所述預(yù)設(shè)閾值可以是所述預(yù)設(shè)周期對應(yīng)的時長,與所述終端監(jiān)聽程序啟動所需的時長和管理員手動終止所述終端監(jiān)聽程序的自動重啟的時長之和的比值。其中,該預(yù)設(shè)周期用于終端監(jiān)聽程序的自動重啟的檢查流程。

在設(shè)置所述閾值時,需要考慮如果終端監(jiān)聽程序從本次啟動到下一次啟動之間的時長,是否足夠讓系統(tǒng)管理員通過命令行主動終止終端監(jiān)聽程序的自動重啟,因此自動重啟的持續(xù)時間應(yīng)該盡量短,以便于管理員盡快對終端監(jiān)聽程序的自動重啟的終止操作;同時也要考慮設(shè)備的可用性的問題,如果預(yù)設(shè)閾值比較小,則會導(dǎo)致終端監(jiān)聽程序偶爾幾次重啟就被終止,這樣會降低設(shè)備的可用性,因此所述預(yù)設(shè)閾值既不能太高,否則管理員無法通過手動來終止終端監(jiān)聽程序,也不能太低,否則會降低設(shè)備的可用性。

例如,比如預(yù)設(shè)周期為600秒,終端監(jiān)聽程序啟動時間需要10秒,管理員手動終止終端監(jiān)聽程序的自動重啟的時間需要20秒,則預(yù)設(shè)的閾值不能超過20[600/(10+20)]次。

在示出的一種實施方式中,在統(tǒng)計終端監(jiān)聽程序的自動重啟的次數(shù)時,可以在Linux系統(tǒng)的內(nèi)存中申請一塊內(nèi)存,用于存放終端監(jiān)聽程序的啟動時刻,該塊內(nèi)存可以是內(nèi)核態(tài)程序中的,也可以是搭載Linux系統(tǒng)的終端設(shè)備任意位置上的一塊獨立內(nèi)存。

當(dāng)終端監(jiān)聽程序啟動后,內(nèi)核態(tài)程序可以生成一條與該終端監(jiān)聽程序啟動時刻對應(yīng)的時刻記錄,并將該啟動時刻記錄添加到上述內(nèi)存中,然后可以基于該內(nèi)存中記錄的時刻記錄的條數(shù),來統(tǒng)計所述終端監(jiān)聽程序啟動的次數(shù)。

在本例中,當(dāng)統(tǒng)計出上述終端監(jiān)聽程序啟動的次數(shù)后,respawn程序可以判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值。如果終端監(jiān)聽程序啟動的次數(shù)達到預(yù)設(shè)閾值,此時終端監(jiān)聽程序重啟的次數(shù)較頻繁,很可能是由于終端監(jiān)聽程序本身可能會存在嚴(yán)重故障,導(dǎo)致的無限重啟,在這種情況下,可以終止終端監(jiān)聽程序的自動重啟流程,立即啟動登錄驗證程序;當(dāng)然,如果終端監(jiān)聽程序啟動的次數(shù)未達到預(yù)設(shè)閾值,此時可以正常執(zhí)行終端監(jiān)聽程序的重啟流程,重新啟動終端監(jiān)聽程序。

在示出的一種實施方式中,當(dāng)終止了終端監(jiān)聽程序的自動重啟流程,啟動了登錄驗證程序后,內(nèi)核態(tài)程序還可以將生成的與所述終端監(jiān)聽程序啟動的時刻對應(yīng)的時刻記錄清空,等管理員修復(fù)故障之后,可以通過登錄驗證來重新啟動終端監(jiān)聽程序,并進入下一個周期。

當(dāng)然,除了管理員通過命令行手動終止終端監(jiān)聽程序的自動重啟,以及當(dāng)終端監(jiān)聽程序的啟動次數(shù)到達預(yù)設(shè)閾值時,respawn程序終止終端監(jiān)聽程序的自動重啟之外,當(dāng)整個Linux系統(tǒng)重新啟動后,也可以將生成的與所述終端監(jiān)聽程序啟動的時刻對應(yīng)的時刻記錄清空。

在本例中,上述終端監(jiān)聽程序除了可能出現(xiàn)以上描述的無限重啟的問題之外,還可能會發(fā)生終端監(jiān)聽進程由于未知原因,出現(xiàn)沒有響應(yīng)的異常問題。對于這種情況,可以采取以如下措施。

在示出的一種實施方式中,所述終端監(jiān)聽程序可以基于預(yù)設(shè)周期向內(nèi)核態(tài)程序周期性發(fā)送存活信號,其中,該預(yù)設(shè)周期用于終端監(jiān)聽程序是否異常。然后,內(nèi)核態(tài)程序可以啟動定時器,并在預(yù)設(shè)時長內(nèi)檢查是否接收到終端監(jiān)聽程序發(fā)送的所述存活信號,如果在預(yù)設(shè)時長內(nèi),未接收到終端監(jiān)聽程序發(fā)送的存活信號,則可以確定終端監(jiān)聽程序異常。

例如,比如終端監(jiān)聽程序向內(nèi)核態(tài)周期性發(fā)送存活信號的預(yù)設(shè)周期為10秒,內(nèi)核態(tài)程序啟動的定時時長為100秒,如果在這100秒之內(nèi),內(nèi)核態(tài)程序沒有接收到終端監(jiān)聽程序發(fā)送的存活消息,則內(nèi)核態(tài)程序就可以確定終端監(jiān)聽程序異常。

在示出的一種實施方式中,當(dāng)內(nèi)核態(tài)程序確定所述終端監(jiān)聽程序異常時,內(nèi)核態(tài)程序可以終止所述終端監(jiān)聽程序,然后內(nèi)核態(tài)程序可以執(zhí)行自定義的respawn指定的程序來重新啟動終端監(jiān)聽程序,恢復(fù)終端監(jiān)聽程序的自動重啟的流程,當(dāng)終端監(jiān)聽程序從異常狀態(tài)恢復(fù)到自動重啟的流程后,對于終端監(jiān)聽程序啟動的時刻記錄,啟動次數(shù)是否超過預(yù)設(shè)閾值的判斷等內(nèi)容在此不再一一贅述。

由以上本申請?zhí)峁┑募夹g(shù)方案可見,通過當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,系統(tǒng)自動運行所述respawn程序以重新啟動所述終端監(jiān)聽程序;然后respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義的respawn程序,該自定義的respawn程序會啟動終端監(jiān)聽程序,因此當(dāng)wait中的程序中終端監(jiān)聽程序退出之后,會自動執(zhí)行respawn中的程序,將終端監(jiān)聽程序自動重啟,從而可以避免終端程序退出后,需要管理員來進行驗證登錄后才可以重啟終端監(jiān)聽程序,進而可以實現(xiàn)提高設(shè)備可用性的目的。

另一方面,通過將系統(tǒng)自動重啟的程序respawn改成自定義的respawn程序,該自定義的respawn程序中可以檢查終端監(jiān)聽程序的啟動次數(shù),當(dāng)終端監(jiān)聽程序啟動的次數(shù)超過預(yù)設(shè)閾值時,系統(tǒng)可以終止終端監(jiān)聽程序,并啟動登錄驗證程序,等待系統(tǒng)管理員的處理,因此可以避免終端監(jiān)聽程序本身存在嚴(yán)重故障時,導(dǎo)致系統(tǒng)忙于無限重啟終端監(jiān)聽程序的狀態(tài),造成console端口無法進行任何操作,從而可以實現(xiàn)提高設(shè)備可用性的目的。

此外,通過內(nèi)核態(tài)程序檢測在定時時間內(nèi)是否接收到終端監(jiān)聽程序周期性發(fā)送的存活信息,來判斷終端監(jiān)聽程序是否處于無響應(yīng)狀態(tài)。當(dāng)終端監(jiān)聽程序處于無響應(yīng)狀態(tài),內(nèi)核態(tài)程序則可以終止終端監(jiān)聽程序,通過respawn自動重啟終端監(jiān)聽程序,因此可以避免終端監(jiān)聽進程卡住時,終端監(jiān)聽程序長時間無法提供服務(wù)的情況的發(fā)生,從而可以實現(xiàn)提高設(shè)備可用性的目的。

與前述一種Linux系統(tǒng)的初始化方法的實施例相對應(yīng),本申請還提供了一種Linux系統(tǒng)的初始化裝置的實施例。

本申請一種Linux系統(tǒng)的初始化裝置的實施例可以應(yīng)用在搭載Linux系統(tǒng)的終端設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在搭載Linux系統(tǒng)的終端設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖2所示,為本申請一種Linux系統(tǒng)的初始化裝置所在搭載Linux系統(tǒng)的終端設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖2所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的搭載Linux系統(tǒng)的終端設(shè)備通常根據(jù)該Linux系統(tǒng)的初始化裝置的實際功能,還可以包括其他硬件,對此不再贅述。

請參考圖3,圖3為本申請一示例性實施例示出的一種Linux系統(tǒng)的初始化裝置,應(yīng)用于搭載Linux系統(tǒng)的終端設(shè)備,其中,所述Linux系統(tǒng)的inittab文件中的respawn指定的程序被修改為自定義respawn程序(以下簡稱respawn程序),所述裝置包括:運行單元310,判斷單元320,執(zhí)行單元330。

其中,運行單元310,用于當(dāng)終端監(jiān)聽程序失去響應(yīng)時,內(nèi)核態(tài)程序終止該終端監(jiān)聽程序;當(dāng)終端監(jiān)聽程序退出時,運行所述respawn指定的程序;

判斷單元320,用于respawn程序判斷在預(yù)設(shè)周期內(nèi)終端監(jiān)聽程序啟動次數(shù)是否達到預(yù)設(shè)閾值;

執(zhí)行單元320,用于如果所述啟動的次數(shù)達到預(yù)設(shè)閾值,則啟動登錄驗證程序;如果所述啟動的次數(shù)未達到預(yù)設(shè)閾值,則重新啟動終端監(jiān)聽程序。

在本例中,所述裝置還包括:

檢查單元,用于內(nèi)核態(tài)程序啟動定時器,并檢查在預(yù)設(shè)時長內(nèi)是否接收到終端監(jiān)聽程序發(fā)送的所述存活信號;

確定單元,用于如果在預(yù)設(shè)時長內(nèi),未接收到終端監(jiān)聽程序發(fā)送的存活信號,則確定終端監(jiān)聽程序異常。

生成單元,用于當(dāng)啟動所述終端監(jiān)聽程序時,生成與該終端監(jiān)聽程序啟動的時刻對應(yīng)的時刻記錄;

統(tǒng)計單元,用于基于所述時刻記錄的條數(shù)統(tǒng)計所述終端監(jiān)聽程序啟動的次數(shù)。

清空單元,用于將生成的所述終端監(jiān)聽程序啟動的時刻對應(yīng)的時刻記錄清空。

其中,所述預(yù)設(shè)閾值為:所述預(yù)設(shè)周期對應(yīng)的時長,與所述終端監(jiān)聽程序啟動所需的時長和管理員手動終止所述終端監(jiān)聽程序的自動重啟的時長之和的比值。

上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。

對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
页游| 新乡县| 北碚区| 金堂县| 井冈山市| 铜陵市| 渝北区| 衡阳县| 青海省| 东乌珠穆沁旗| 桐庐县| 邹城市| 建昌县| 海南省| 崇信县| 营山县| 临泉县| 阿拉善右旗| 抚州市| 涿州市| 海丰县| 井陉县| 秦皇岛市| 林周县| 环江| 车致| 蒲城县| 嘉义市| 兴隆县| 弥勒县| 武隆县| 浦城县| 正定县| 年辖:市辖区| 乡城县| 乌苏市| 耿马| 高清| 高州市| 扶余县| 新民市|