openlog為當前的應用程式開啟乙個log檔案
syslog用來記錄一條資訊
closelog用來關閉本程式的log檔案
可以使用這三個函式,為系統檔案寫一條條的日誌,用日誌來做記錄
日誌資訊就是乙個檔案,每發生一件事,就給檔案寫一條日誌資訊,之後檢視這個檔案,就知道發生了什麼事情
各種引數
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format, ...);
void closelog(void);
ident當前應用程式的名字,因為我們很多程式都會向日誌檔案寫資訊,
日誌資訊是共用的,log要知道這一條是a寫的還是b寫的
option facility都是一些巨集定義
option:
log_cons:
pid:每一條資訊裡面加上pid,知道是哪個程序發的
因為父子程序的程序名字(ident)是一樣的,必須要通過pid來區別
facility
跟什麼相關的資訊,預設的log_user,絕大多數用的這個,
日誌資訊的重要程度,共有8個緊張程度
一般log資訊在/var/log messages
ubuntu中 var/log/syslog檔案中的
其實系統中一直有乙個守護程序syslogd
我們呼叫syslog函式,是給這個程序發訊息,這個服務程序將訊息儲存在/ var/log/syslog檔案中裡面
用 cat /var/log/syslog 開啟
總結,syslogd日誌檔案系統的伺服器程序,提供日誌服務,任何程序通過這三個函式跟syslogd通訊,
這就是os提供的服務式的設計,ftp也是,
#include #include #include #include int main(void)
加入準確時間資訊的syslog
#include #include #include #include #include int main(void);
timenow = time(null);
str = ctime(&timenow);
//printf("it's %s ", str);
printf("pid = %d.\n", getpid());
openlog(null, log_pid, log_user);
syslog(log_debug, str, 1);
syslog(log_debug, "this is lt's log.\n");
closelog();
return 0;
}
程序之wait waitpid使用
上個部落格講了如何使用fork簡單的建立乙個新的程序,本篇文章將講下如何避免殭屍程序的產生,殭屍程序的產生就是因為子程序退出時沒有父程序替它 收屍 即沒有獲取子程序的狀態資訊,一般我們可以使用wait或者waitpid函式來進行處理 下面的 示例演示了子程序如何成為殭屍程序的過程 include i...
使用命令來結束程序
taskkill 說明 這個命令列工具可用來結束至少乙個程序。可以根據程序 id 或影象名來結束程序。可通過taskkill 在獲得詳細幫助。支援系統winxp以上。例如 taskkill s system f im notepad.exe t taskkill pid 1230 pid 1241 ...
使用php來做守護程序
起源 linux unix下守護程序 daemon 大家都知道,比如我們常用的httpd mysqld等等,就是常駐記憶體執行的程式,類似於windows下的服務。一般守護程序都是使用c c 來寫,就是通過fork生成子程序,當前臺shell下的父程序被殺掉,子程序就轉到後台執行,為了不在終端產生輸...