守護進程

在一個多工的電腦作業系統中 ， 守護進程 ( [ˈdiːmən] 或 [ˈdeɪmən] ） 是一種在後臺執行 ， 而不由用戶直接交互控制的電腦程序 。 此類程序會被以進程的形式初始化 。 - { zh - cn: 守護進程程序; zh - tw: 常駐程式 } - 的名稱通常以字母d結尾 ， 以指明這個進程實際是守護進程 ， 並與普通的電腦程序區分開來 。 例如 ， 就是指管理系統日誌的守護進程 ， 是接收傳入SSH連接的守護進程 。 在Unix環境下 ， 守護進程的父進程通常 （ 但不一定 ） 是init進程 ， 且在UNIX系統進程層級中直接位於init之下 。 守護進程通常由如下方法創建 ： 一個進程執行fork生成一個子進程然後立即終止 ， 使得這個子進程能在init下運行 ； 或者直接由init啓動守護進程 。 另外 ， 通過 “ fork並終止 ” 產生的守護進程一般還需要執行其他操作 ， 如解除此進程與任何控制終端 （ tty ） 之間的關聯 。 這類流程在Unix上的daemon ( 3 ) 已有實現 。 系統通常在啓動時一同啓動守護進程 。 守護進程會執行一些任務以響應網絡請求 、 硬件活動或其他應用程序的請求 。 像cron這樣的守護進程還會在指定時間運行指定任務 。