Below you will find pages that utilize the taxonomy term “daemon”
February 11, 2011
linux实现daemon程序
"国外相关文档:()\n编写Linux系统下Daemon程序的方法步骤\n一、引言 Daemon程序是一直运行的服务端程序,又称为守护进程。\n本文介绍了在Linux下编写Daemon程序的步骤,并给出了例子程序。\n二、Daemon程序简介\nDaemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。\n三、Daemon程序编写规则\n编写Daemon程序有一些基本的规则,以避免不必要的麻烦。\n1、首先是程序运行后调用fork,并让父进程退出。子进程获得一个新的进程ID,但继承了父进程的进程组ID。\n2、调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。\n3、改变当前工作目录至根目录,以免影响可加载文件系统。或者也可以改变到某些特定的目录。\n4、设置文件创建mask为0,避免创建文件时权限的影响。\n5、关闭不需要的打开文件 …"
February 11, 2011
用c语言实现的daemon实例
"守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。\n守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,造成不同Unix环境下守护进程的编程规则并不一致。这需要读者注意,照搬某些书上的规则(特别是BSD4.3和低版本的System V)到Linux会出现错误的。下面将全面介绍Linux下守护进程的编程要点并给出详细实例。\n一. 守护进程及其特性\n守护进程最重要的特性是后台运行。在这一点上DOS下的常驻内存程序TSR与之相似。其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。最后,守护进程的启动方式有其特殊之处。它可以在Linux系统启 …"