linux 建立daemon程序

2021-08-22 09:10:15 字數 831 閱讀 5582

方法一:

使用傳統的fork()函式。示例**如下:

static void daemon_init ( const char *workdir, mode_t mask )

/** first child continues

** become session leader

*/setsid();

signal( sighup, sig_ign );

if ( 0 != fork() )

/** second child continues

** change working directory, chdir( "/" )

*/chdir( workdir );

/** clear our file mode creation mask, umask( 0 )

*/umask( mask );

j = open( "/dev/null", o_rdwr );

dup2( j, 0 );

dup2( j, 1 );

dup2( j, 2 );

j = getdtablesize();

for ( i = 3; i < j; i++ )

return;

} /* end of daemon_init */

方法二:

呼叫daemon()函式。示例**如下:

daemon(1, 0);

有些系統不支援daemon函式。不過如果你的程式只在linux下執行,那就沒問題。

補充:如果你只是想在退出telnet或者putty的時候「程序不退出」,那麼你需要的也許只是處理一下sighup。

Linux 建立守護程序(daemon)

要變成daemon,乙個程式需要完成下面的步驟 執行乙個fork 之後父程序退出,子程序繼續執行。結果就是daemon成為了init程序的子程序。之所以要做這一步是因為下面兩個原因 子程序呼叫setsid 開啟乙個新回話並釋放它與控制終端之間的所有關聯關係。如果daemon從來沒有開啟過終端裝置,那...

linux 守護程序 daemon

原文出處 daemon程式簡介 daemon是長時間執行的程序,通常在系統啟動後就執行,在系統關閉時才結束。一般說daemon程式在後台執行,是因為它沒有控制終端,無法和前台的使用者互動。daemon程式一般都作為服務程式使用,等待客戶端程式與它通訊。我們也把執行的daemon程式稱作守護程序。比如...

Linux 守護程序Daemon

守護程序是生存期長的一種程序。linux常用於伺服器,程式通常不執行在前台。執行於前台的程序和終端關聯,一旦終端關閉,程序也隨之退出。因為守護程序不和終端關聯,因此它的標準輸出和標準輸入也無法工作,除錯資訊應該寫入到普通檔案中,以便將來進行錯誤定位和除錯。而且守護程序通常以root許可權執行。程式示...