Linux下的Daemon简介(转)
add by zhj: 接触这个概念也有段时间了,但一直没搞明白,今天总算明白了。
Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,意思是它没有控制终端,无法和前台的用户交互。
Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。比如,我们的网络服务程序,可以在完成创建套接口,
绑定套接口,设置套接口为监听模式后,变成守护进程进入后台执行而不占用控制终端,这是网络服务程序的常用模式。UNIX下的网络服务程序,如Web Server,FTP,
Telnet一般都是由守护进程(Daemon)来实现的。UNIX的守护进程一般都命名为*d的形式,如httpd,telnetd等。
1、 Service就是指常驻内存大一些程序,且可以提供一些系统或是网络功能。提供service的那个程序就成为daemon。Daemon和service可以视为等同,不必刻意去区分。
2、 Daemon可以分为两类,一类是可独立启动的,成为stand alone;另一类是通过一支superdaemon来统一管理的服务。
3、 Stand alone类型的daemon能够自动启动,常驻内存,对请求响应较快,如httpd、vsftpd等。
4、 Super daemon统一管理的是用户有请求,super daemon就唤醒响应daemon,如果用户请求结束,就kill掉该daemon。优点不用常驻内存,缺点装到内存需要时间。
如telnet。这个super daemon早期是inetd,后来被xinetd取代。
5、 Super daemon与stand alone daemon的形象比喻:stand alone就像银行的专用窗口,某些窗口专门负责取钱,某些窗口专门负责兑换外币;
super daemon就是一个综合性窗口,什么业务都受理。
6、 Linux中,daemon的命名规则通常是在所提供的服务名后面加d,如httpd。
7、 /etc/services文件中记录了service与port的对应关系。是网络服务文件,使用服务名称、端口名、协议名、以及别名来表示。
8、 Linux的端口号范围为0~65535:0,不适用;1-1023系统保留只能由root使用;1024-4999,客户端程序自由分配,5000-65535服务器端程序自由分配。
9、 一般的启动与关闭daemon都是写成一个shell script来完成。
10、 系统服务启动的script几乎全是放到/etc/init.d/目录下。CentOS实际上放到/etc/rc.d/init.d/中的,但是跟/etc/init.d/下一样,做了链接。
11、 几乎所有服务的初始化设定文档都是放在/etc/sysconfig/目录下,网络的初始化配置卸载/etc/sysconfig/network这个文件中。
12、 Super daemon的主要设定档写在/etc/xinetd.conf,它所管理的其它的daemon的设定档卸载/etc/xinetd.d/目录下。
13、 各服务的设定档都是放在/etc/目录下。
14、 /var/lib/放的都是各服务产生的数据。
15、 /var/run/放的是各服务的程序之PID记录处。
16、可以使用service这个script(可以直接查看/sbin/service这个文件,纯文本写成的script)来管理daemon,service这个script可以分析 service后面的参数,到/etc/init.d/下去取得正确的服务来start或stop。
如下
Linux下的Daemon简介(转)的更多相关文章
- latex均方极限符号l.i.m在lyx下的输入方法
$\mathop{l.i.m}\limits_{x\to +\infty}$ 命令说明: 1.指定数学环境$$ 2.\mathop{l.i.m}指数学符号自定义为l.i.m 3.\limits_{x\ ...
- Linux下配置Tomcat
***安装*** 安装JDK chmod a+x jdk-1_5_0_06-linux-i586-rpm.bin ./jdk-1_5_0_06-linux-i586-rpm.bin 敲几次空格就O ...
- linux下出现+ ls --color=auto -l --color=auto...++ echo -ne '\033]0;root@imon-2:~'等
[root@imon-2 ~]# cd /root/ + cd /root/ ++ echo -ne '\033]0;root@imon-2:~' [root@imon-2 ~]# ll + ls - ...
- 排序算法----基数排序(RadixSort(L))单链表智能版本
转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割 ...
- 排序算法----基数排序(RadixSort(L,max))单链表版本
转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割 ...
- Find linux下
find 1.作用 find命令的作用是在目录中搜索文件,它的使用权限是所有用户. 2.格式 find [path][options][expression] path指定目录路径,系统从这里开始沿着 ...
- [转载] linux查找目录下的所有文件中是否含有某个字符串
链接自 http://blog.sina.com.cn/s/blog_691a84f301015khx.html,并略加修订. 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- 在Linux下如何使用GCC编译程序、简单生成 静态库及动态库
最近在编写的一个Apache kafka 的C/C++客户端,,在看他写的 example中,他的编译是用librdkafka++.a和librdkafka.a 静态库编译的,,,而我们这 ...
- Ubuntu下VIM的安装及其配置——Linux篇
一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...
随机推荐
- Onject.Instantiate实例
该函数有两个函数原型: Object Instantiate(Object original,Vector3 position,Quaternion rotation); Onject Instant ...
- HttpHelper万能框架GetMergeCookie的问题
用万能框架写了一个DZ带验证码POST登录一直错误 http://www.sufeinet.com/thread-17795-1-1.html 调试半天发现是框架GetMergeCookie的问题,, ...
- windows 2008 r2 安装TabsStudio
windows 2008 r2 安装TabsStudio 办法如下: HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer.如果没有这个项,则新建这个项 ...
- python3.0与python2.0有哪些不同
python3的语法跟python2哪里变了. 1. python3中1/2终于等于0.5 了 2. print "Hello World"变成了print("Hello ...
- 用rman恢复备库;遇到备库起不来一个案例 ORA-01152:ORA-01110
数据从主库恢复到备库:打开备库发现出现异常 SQL> alter database open; alter database open * ERROR at line 1: ORA-10458: ...
- com.thoughtworks.xstream.converters.ConversionException
使用webService调用接口,返回的是xml格式,运用xstream解析的时候,出现了如下的错误: Exception in thread "Timer-1" com.thou ...
- 《C++ Primer Plus》15.1 友元 学习笔记
15.1.1 友元类假定需要编写一个模拟电视机和遥控器的简单程序.决定定义一个Tv类和一个Remote类,来分别表示电视机和遥控器.遥控器和电视机之间既不是is-a关系也不是has-a关系.事实上,遥 ...
- poj_2553 强连通分支&出度为0的点
题目大意 N个点的有向图中,定义“好点”为: 从该点v出发可以到达的所有点u,均有一条路径使得u可达v. 求出图中所有的“好点”,并按照顺序从小到大输出出来. 题目分析 图存在多个强连通分支,强连通分 ...
- poj_3283 trie树
题目大意 将一副牌进行编号,四种花色分别标记为'C'.'D'.'H'.'S',数值标记为'A'.'1'.'2'.'3'.'4'.'5'.'6'.'7'.'8'.'9'.'10'.'J'.'Q'.'K' ...
- 静态同步synchronized方法和synchronized(class)代码块
关键字synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁. package synStaticMethod; /** * C ...