步驟:
1. 父程序通過fork函式建立乙個子程序,然後父程序退出
2. 子程序中使用setsid函式建立乙個新的會話
3. 切換程序的工作目錄到根目錄
4. 設定程序的umask為0
5. 關閉不需要的檔案操作符
例項**:
#include
#incude
#include
#include
#include
#include
int main(int argc, char* argc)
if (pid > 0)
// 子程序中,建立乙個新的會話
if ((sid = setsid()) < 0)
// 重新設定檔案許可權模式
umask(0);
//關閉從主程序中繼承來的不需要的輸入輸出描述符
close(stdin_fileno);
close(stdout_fileno);
close(stderr_fileno);
// 實現守護程序需完成的工作
int i = 0;
//struct timeval
//;struct timeval;
timeval.tv_sec = 1;
timeval.tv_usec = 0;
while(i < 10000)
return 0;
}
Linux 下,如何建立守護程序
最近在看apue,記錄一下如何建立乙個完整的守護程序。以備不時檢視。注 redhat在 var log messages檔案中,可檢視syslog函式記錄的日誌。cpp view plain copy include include include include include include i...
後台執行命令 守護程序建立
當你在終端或控制台工作時,可能不希望由於執行乙個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的程序,你可能希望它能夠在每天的非負荷高峰時間段執行。為了使這些程序能夠在後台執行,也就是說不在終端螢幕上執行,有幾種選擇方法可供使用 list 設定crontab檔案,...
Linux 守護程序建立
守護程序是在後台執行,不受使用者的控制 守護程序沒有任何存在的父程序。如果乙個程序想成為守護程序,有fork 建立 然後終止父程序,脫離資源。例子 void init daemon int pid,i pid fork if pid exit 0 結束父程序 else exit 1 失敗退出 是子程...