Linux 後台服務

2021-10-03 11:51:29 字數 965 閱讀 2765

方法一:fork方式

1.fork乙個子程序,父程序退出,子程序成為孤兒程序,被init程序接管

2.呼叫setsid建立新的程序會話

3.將當前工作目錄切換到根目錄

4.將標準輸入,輸出,出錯重定向到/dev/null

/*

linux後台程序,fork方式

*/#include

#include

#include

#include

void

daemonize()

else

//呼叫setsid建立新的程序會話

setsid()

;//將當前工作目錄切換到根目錄if(

chdir

("/"

)<0)

//將標準輸入,輸出,出錯重定向到/dev/null

int fd=

open

("/dev/null"

,o_rdwr)

;dup2

(fd,stdin_fileno)

;//複製檔案描述符

dup2

(fd,stdout_fileno)

;dup2

(fd,stderr_fileno)

;return;}

intmain

(int argc,

char

* ar**)

return0;

}

方法二:daemon api方式

/*

linux後台程序,daemon api方式

*/#include

#include

#include

intmain

(int argc,

char

* ar**)

while(1

)}

Linux 啟動mongo db後台服務

文章目錄 1.開啟mongo db後台服務 2.關閉mongo db服務 3.走過的彎路 將mongodb部署在伺服器機子上時mongodb的例項應為後台服務進行的方式執行,而非前台程序,否則遠端會話一關閉mongodb也跟著關閉了。本文介紹mongodb後台服務程序開啟和關閉的操作。使用 fork...

後台服務小點

很多東西本來就存在,只是自己不懂,記錄在此,以便日後複習唄。今天碰到乙個問題就是專案中的靜態頁面是分開的,比如當面部落格頁面,它的頭是單獨的乙個html檔案,而下來的內容又是另外乙個,從專案本身以及在布置到伺服器上都沒有發現拼裝過程,於是好奇之,這是為啥呢,原來nginx早已具有這樣的功能,就是ss...

Mac 後台服務

mac 的後台服務通過launchctl工具實現 也可以使用linux下的crontab 但官方建議使用launchctl。使用launchctl非常簡單,根據需要編寫plist指令碼即可。plist指令碼存放路徑為 library launchdaemons或 library launchagen...