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