linux系列-deamon详解

daemon 与 service

在 Linux 系统中,常驻在内存中,提供一些系统或者网络功能的程序就称之为 service,而这个运行的程序我们就称之为 daemon。 实际上,这两个概念没有必要分得那么清楚,这两个名称只是在不同角度的不同的称谓, service 是在系统角度来看的, daemon 则是 在程序的角度上来看的。

在这篇文章中,我们主要详细介绍一下常规 daemon 的详细配置以及开机启动配置,在后续的文章中,我会详细介绍 deamon。

deamon 的启动脚本与启动方式

deamon 程序通常是由一个脚本来启动,在启动 deamon 的时候,脚本会完成以下的工作:

  • 环境的侦测
  • 配饰文件的分析
  • PID 文件的放置
  • 以及给程序运行过程中相关的文件上锁
目录 作用 备注
/etc/init.d/* 启动脚本放置的地方
/etc/sysyconfig/* 各服务的初始化环境配置文件
/etc/xinetd.conf /etc/xinted.d/* super deamon
/etc/* 各服务各自的配置文件
/var/lib/* 各服务器产生的数据库
/var/run/* 各服务的程序的 PID 文件目录

所以在启动后台程序的时候,可以使用 /etc/init.d/* 里面的脚本来完成 deamon 程序:

1
2
3
4
5
/etc/init.d/syslog start

/etc/init.d/syslog restart

/etc/init.d/syslog stop

这是启动的一个方法,还可以利用其他的方法来完成以上的功能,那就是 service 程序,service 本身 其实也是一个脚本,最后实际调用的还是 /etc/init.d/* 中的脚本。

1
2
3
4
5
service syslog start

service syslog restart

service syslog stop

chkconfig 管理系统服务是否默认启动

当我们的 deamon 程序的脚本加入到 /etc/init.d/ 中后,我们就可以通过 chkconfig 命令很好的将这些程序 管理起来,比如将一些 deamon 程序配置成开机启动。

1
chkconfig  [--level [0123456]] [服务名称] [on|off]

上面的命令就可以让某个服务在特定的运行等级下默认启动或者默认不启动。

微信公众号

© 2020 ray