Posted on 2009-03-13 20:36
Prayer 閱讀(717)
評論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
守護進程創建是特意而為的,創建的方式確實是讓它 fork 出來的進程成為孤兒進程,但是在那之后還有很多事情要做。
守護進程創建時是刻意讓父進程結束執行,讓子進程被 init 接管,目的是不讓守護進程有任何的 control terminal。然后還要調用 setsid 使它成為一個單獨的 session 中的進程且只有這一個進程,除此之外還要關閉所有的文件描述符,將文件描述符 0, 1, 2 全部指向 /dev/null 保證它不會將信息打印到終端,不會讀取用戶輸入。
關于守護進程的具體內容和創建方法建議去看 APUE,我上面說的就是我記得的內容。