linux守護程序
編寫規則
1.建立子程序,父程序退出
2.在子程序中建立新會話
setsid函式就是用於建立乙個新的會話,並擔任該會話組的組長,呼叫setsid有下面3個作用。
讓程序擺脫原會話的控制
讓程序擺脫原程序組的控制
讓程序擺脫原控制終端的控制
3.改變當前目錄為根目錄
4.重設檔案許可權掩碼
umask(0)
5.關閉檔案描述符
#include
#include
#include
#include
#include
#include
#include
#define maxfile 65535
int main(int argc, char *ar**)
pid_t pc;
int i, fd, len;
char *buf = "this is a dameon/n";
len = strlen(buf);
pc = fork();
if (pc < 0)
printf("error fork/n");
exit(1);
else if (pc > 0)
exit(0);
setsid();
chdir("/");
umask(0);
for (i = 0; i < maxfile; i++)
close(i);
while (1)
perror("open");
exit(1);
write(fd, buf, len+1);
close(fd);
sleep(5);
return 0;
Linux守護程序
linux下守護程序一般分為5步,但是實際上只有前兩步是關鍵。第一步 建立子程序,關閉父程序。使用fork 建立,父程序exit 退出。關鍵第二步 建立新的會話id,setsid 作用是使子程序擺脫原有的會話 程序組 終端的控制,其實,linux下每個程序都是由一號程序建立而來的,每個程序都是1號程...
Linux 守護程序
守護程序daemon,是生存期較長的一種程序,名字一般以字母d結尾。它們常常在系統自舉時啟動,僅在系統關閉時才終止。因為它們沒有控制終端,所以說它們是在後台執行的。linux系統有很多守護程序,它們執行日常事務活動。自舉只有兩個功能 加電自檢和磁碟引導。加電自檢 當我們按下計算機電源開關時,頭幾秒鐘...
Linux守護程序
程式設計級別 一 守護程序的概念 守護程序是一種生存期比較長的程序,常常在系統自舉時啟動,在系統關閉時退出。因為他們沒有控制終端,因此是在後台執行的。二 守護程序的程式設計規則 1清除檔案模式建立遮蔽字 2成為乙個新的會話首程序 3略hup訊號。然後再次fork 4改變當前工作路徑 5關閉所有的檔案...