<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 進(jìn)程控制開(kāi)發(fā)之:Linux守護進(jìn)程

進(jìn)程控制開(kāi)發(fā)之:Linux守護進(jìn)程

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/257130.htm

7.3.3的出錯處理

讀者在前面編寫(xiě)的具體調試過(guò)程中會(huì )發(fā)現,由于完全脫離了控制終端,因此,不能像其他普通進(jìn)程一樣將錯誤信息輸出到控制終端來(lái)通知程序員,即使使用gdb也無(wú)法正常調試。那么,守護進(jìn)程的進(jìn)程要如何調試呢?一種通用的辦法是使用syslog服務(wù),將程序中的出錯信息輸入到系統日志文件中(例如:“/var/log/messages”),從而可以直觀(guān)地看到程序的問(wèn)題所在。

注意

“/var/log/message”系統日志文件只能由擁有root權限的超級用戶(hù)查看。在不同發(fā)行版本中,系統日志文件路徑全名可能有所不同,例如可能是”/var/log/syslog”

syslog是中的系統日志管理服務(wù),通過(guò)守護進(jìn)程syslogd來(lái)維護。該守護進(jìn)程在啟動(dòng)時(shí)會(huì )讀一個(gè)配置文件“/etc/syslog.conf”。該文件決定了不同種類(lèi)的消息會(huì )發(fā)送向何處。例如,緊急消息可被送向系統管理員并在控制臺上顯示,而警告消息則可被記錄到一個(gè)文件中。

該機制提供了3個(gè)syslog相關(guān)函數,分別為openlog()、syslog()和closelog()。下面就分別介紹這3個(gè)函數。

(1)syslog相關(guān)函數說(shuō)明。

通常,openlog()函數用于打開(kāi)系統日志服務(wù)的一個(gè)連接;syslog()函數是用于向日志文件中寫(xiě)入消息,在這里可以規定消息的優(yōu)先級、消息輸出格式等;closelog()函數是用于關(guān)閉系統日志服務(wù)的連接。

(2)syslog相關(guān)函數格式。

表7.9列出了openlog()函數的語(yǔ)法規范。

表7.9 openlog()函數語(yǔ)法

所需頭文件

#includesyslog.h>

函數原型

voidopenlog(char*ident,intoption,intfacility)

函數傳入值

ident

要向每個(gè)消息加入的字符串,通常為程序的名稱(chēng)

option

LOG_CONS:如果消息無(wú)法送到系統日志服務(wù),則直接輸出到系統控制終端

LOG_NDELAY:立即打開(kāi)系統日志服務(wù)的連接。在正常情況下,直接發(fā)送到第一條消息時(shí)才打開(kāi)連接

LOG_PERROR:將消息也同時(shí)送到stderr上

LOG_PID:在每條消息中包含進(jìn)程的PID

facility:指定程序發(fā)送的消息類(lèi)型

LOG_AUTHPRIV:安全/授權信息

LOG_CRON:時(shí)間守護進(jìn)程(cron及at)

LOG_DAEMON:其他系統守護進(jìn)程

LOG_KERN:內核信息

LOG_LOCAL[0~7]:保留

LOG_LPR:行打印機子系統

LOG_MAIL:郵件子系統

LOG_NEWS:新聞子系統

LOG_SYSLOG:syslogd內部所產(chǎn)生的信息

LOG_USER:一般使用者等級信息

LOG_UUCP:UUCP子系統

表7.10列出了syslog()函數的語(yǔ)法規范。

表7.10 syslog()函數語(yǔ)法

所需頭文件

#includesyslog.h>

函數原型

voidsyslog(intpriority,char*format,...)

函數傳入值

priority:指定消息的重要性

LOG_EMERG:系統無(wú)法使用

LOG_ALERT:需要立即采取措施

LOG_CRIT:有重要情況發(fā)生

LOG_ERR:有錯誤發(fā)生

LOG_WARNING:有警告發(fā)生

LOG_NOTICE:正常情況,但也是重要情況

LOG_INFO:信息消息

LOG_DEBUG:調試信息

format

以字符串指針的形式表示輸出的格式,類(lèi)似printf中的格式

表7.11列出了closelog()函數的語(yǔ)法規范。

表7.11 closelog函數語(yǔ)法

所需頭文件

#includesyslog.h>

函數原型

voidcloselog(void)

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

pid控制相關(guān)文章:pid控制原理


linux相關(guān)文章:linux教程


pid控制器相關(guān)文章:pid控制器原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>