如何让Linux系统一启动就启动服务程序?
在 /etc/rc.d/init.d/ 目录下放置程序启动脚本。如 /etc/rc.d/init.d/ 下的httpd,这是个脚本程序。
cd /etc/rc.d/init.d/./httpd start
相当于执行:
service httpd start
其实 service 会在 /etc/rc.d/init.d/ 中找对应的脚本程序,并执行。
/etc/rc.d/init.d/httpd 脚本程序接受 start, stop 等参数。结构如下:
#!/bin/bashstartServer() { /usr/sbin/httpd &}stopServer() { # Kill process}case "$1" in start) startServer ;; stop stopServer ;; status ;; restart stopServer startServer ;; *) echo "Usage: httpd ...."
如果想让服务随系统启动而启动。那么我们就得将启动脚本程序链接到 /etc/rcN.d中去,N为系统启动级别。
如下为将 httpd 服务加到2,4,5等级的自启动去。
for level in 2 4 5; do ln /etc/rc.d/init.d/httpd /etc/rc${level}.d/S85httpddone
如果你已了解实现的原理,那么就 chkconfig 命令实现:
chkconfig --list httpd #查看一下当前的启动状态chkconfig --levels 245 httpd on #打开httpd在2,4,5等级下的自启动