Linux Crond服務

每次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件 中,這個文件是不可以直接編輯的,只可以用crontab -e 來編輯。cron啓動後每過一份鍾讀一次這個文件,檢查是否要執行裏面的命令。因此此文 件修改後不需要重新啓動cron服務。

crond程序配置的一些程序是作爲crond守護進程的子進程運行的。 子進程會繼承父進程的一些屬性。

包括. ULIMIT.比如可以打開的文件描述符數目。 如果子進程想要突破這種限制,應該自己獨立設置。


附;

子進程繼承了父進程的幾乎所有的屬性:

. 實際UID,GID和有效UID,GID.
. 環境變量.
. 附加GID.
. 調用exec()時的關閉標誌.
. UID設置模式比特位.
. GID設置模式比特位.
. 進程組號.
. 會話ID.
. 控制終端.
. 當前工作目錄.
. 根目錄.
. 文件創建掩碼UMASK.
. 文件長度限制ULIMIT.
. 預定值, 如優先級和任何其他的進程預定參數, 根據種類不同
決定是否可以繼承.
. 還有一些其它屬性.
 
但子進程也有與父進程不同的屬性:
. 進程號, 子進程號不同與任何一個活動的進程組號.
. 父進程號.
. 子進程繼承父進程的文件描述符或流時, 具有自己的一個拷貝
並且與父進程和其它子進程共享該資源.
. 子進程的用戶時間和系統時間被初始化爲0.
. 子進程的超時時鐘設置爲0.
. 子進程不繼承父進程的記錄鎖.
. pending signals 也不會被繼承。
 

linux下fork的實現是copy-on-write,也就是子進程與父進程初始時只有頁表和task structure不同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章