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不同。

猜你喜欢

转载自blog.csdn.net/cccAllen/article/details/6976913