Linux守護程序

2021-05-23 00:00:58 字數 538 閱讀 5337

linux下守護程序一般分為5步,但是實際上只有前兩步是關鍵。

第一步:建立子程序,關閉父程序。使用fork()建立,父程序exit()退出。

關鍵第二步:建立新的會話id,setsid(),作用是使子程序擺脫原有的會話、程序組、終端的控制,其實,linux下每個程序都是由一號程序建立而來的,每個程序都是1號程序的子程序,如果我們能不通過第一步父程序退出,直接擺脫當前會話的控制的話,那麼第一步也就不重要了,但是,我不清楚linux系統提供的函式是否可以做到。

第三步:設定檔案掩碼umask(0),這步壓根不重要,看具體情況而定,只是這個檔案掩碼是由父程序拷貝過來的,所以,子程序使用時,要留意。

第四步:修改當前路徑chdir(),也不重要,同樣是由父程序拷貝過來的,但是如果不改變的話,當前的目錄被link著,也就是會無法刪除的。

第五步:關閉開啟的檔案描述符,視情況而定,由於檔案描述符0,1,2一般是終端上的,由於終端在第二步就已經被擺脫,那麼開著就沒有意義,但是如果程式對出,那麼也會自動關閉,但是如果有其他的檔案開著,那麼是需要是情況而定的。

Linux 守護程序

守護程序daemon,是生存期較長的一種程序,名字一般以字母d結尾。它們常常在系統自舉時啟動,僅在系統關閉時才終止。因為它們沒有控制終端,所以說它們是在後台執行的。linux系統有很多守護程序,它們執行日常事務活動。自舉只有兩個功能 加電自檢和磁碟引導。加電自檢 當我們按下計算機電源開關時,頭幾秒鐘...

Linux守護程序

程式設計級別 一 守護程序的概念 守護程序是一種生存期比較長的程序,常常在系統自舉時啟動,在系統關閉時退出。因為他們沒有控制終端,因此是在後台執行的。二 守護程序的程式設計規則 1清除檔案模式建立遮蔽字 2成為乙個新的會話首程序 3略hup訊號。然後再次fork 4改變當前工作路徑 5關閉所有的檔案...

Linux 守護程序

概念 無控制終端的會話首程序,或者是孤兒程序組的成員,在後台執行任務。守護程序程式的名稱通常以 d 結尾。程式設計規則 1 呼叫unmask將檔案模式建立遮蔽字設定為乙個已知值 通常是0 因為繼承來的檔案模式建立遮蔽字可能會被設定為拒絕某些許可權。2 呼叫fork,然後父程序exit。作用 1 如果...