daemon 是什么
daemon 是 Linux 里面一个很重要的概念,Linux 中常驻在内存中的提供服务的程序叫 service(比如 cron),实现这个 service 的程序是 daemon(比如 crond),daemon 命令一般会在程序名字后面加一个 d。
daemon 的启动脚本
daemon 的启动需要做一些其他的操作,一般会有各自的启动脚本,放在 /etc/init.d/
下面,可以直接执行那些脚本,或者通过 service
,下面是两个例子:
$ /etc/init.d/cron
* Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}
$ service cron
[info] Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}.
该 script 可以进行环境的侦测、配置文件的分析、PID 文件的放置,以及相关重要交换文件案的锁住 (lock) 动作, 你只要运行该 script ,上述的动作就一口气连续的进行,最终就能够顺利且简单的启动这个 daemon 啰!
如何创建一个 daemon 程序
首先是相对简单的借助 daemon
程序来完成:。
其他的还有用 C 语言自己实现的,大概是系统提供了一些的系统调用,另外需要一些进程切换之类的来实现 daemon 执行在后台的作用。
偷懒先只留下一堆参考链接:
daemon 的自启动
使用 chkconfig 可以检查并设置 daemon 是否会自动启动。
$ chkconfig --list
正常的运行等级有两个,一个是具有 X 窗口接口的 run level 5 ,另一个则是纯文本界面的 run level 3。
比如 rsync 这种的,它安装上之后如果不自动启动的话可能就没意义了,所以安装的时候它就会处理了这个操作吧!supervisor
也是如此,所以自己不需要再 rc.local
中再设置一次启动。
自己写的服务也可以先放在 /etc/init.d
然后类似的添加进去。
其他命令
查看所有的 service:service --status-all