linux下C語言實現守護程序

2021-10-02 17:59:45 字數 819 閱讀 7932

table of contents

守護程序的實現

守護程序初始化函式

寫乙個測試**

編譯後生成可執行檔案

#include #include #include #include #include #include void init_deamon()

else if(pid<0)

/* 是第一子程序,後台繼續執行

* 第一自己成成為新的會話組長和程序組長*/

setsid();

/*與控制終端分離*/

if(pid=fork())

else if (pid<0)

/*** 是第二子程序,繼續

* 第二子程序不再是會話組長

* 關閉開啟的檔案描述符

*/for(i=0;i#include void init_deamon();

int main()

}}

$ ./a.out 

$ more /tmp/test.log

i'm here at tue feb 11 21:38:50 2020

i'm here at tue feb 11 21:38:52 2020

$ more /tmp/test.log

i'm here at tue feb 11 21:38:50 2020

i'm here at tue feb 11 21:38:52 2020

i'm here at tue feb 11 21:38:54 2020

Linux下守護程序的實現

一.fork 函式 通過系統呼叫建立乙個與原程序幾乎一模一樣的程序,可理解為轉殖了乙個自己。fork函式的返回值有下面幾種情況 1.在父程序中返回新建立子程序的的程序id 2.在子程序中返回0 3.呼叫失敗,返回負值 二.程序相關知識 1.程序組 乙個或者多個程序的集合。每個程序組擁有乙個程序組id...

linux 程序通訊 C語言實現

linux中的程序通訊分為三個部分 低階通訊,管道通訊和程序間通訊ipc inter process communication linux的低階通訊主要用來傳遞程序的控制訊號 檔案鎖和軟中斷訊號機制。linux的程序間通訊ipc有三個部分 訊號量,共享記憶體和 訊息佇列。以下是我編寫的linux程...

linux守護程序實現

守護 daemon 程序即在後台執行的程序,網上有很多介紹守護程序的文章,這裡不再贅述,直接上 static void daemon prep int stderr log just in case.open dev null o rdwr dup 0 dup 0 static int daemon...