linux将程序添加到服务

===========================   方式 1   ===================================

#如果通过yum安装的服务,直接敲入下面的命令就可以了开机时自动启动服务了
chkconfig --level 234 httpd on



===========================   方式 2编写自己的服务脚本===================================
#系统预定义函数
#start()
#stop()
#restart()
#reload() -----> 告诉程序重读配置文件,改变程序的运行状态
#/etc/rc.d/init.d/  系统服务脚本目录
#/var/lock/subsys   服务锁定目录(存在则表示已经创建了实例)


1.
进入系统服务脚本目录:
cd /etc/rc.d/init.d/
vi test
内容如下:
#!/bin/bash
#
# chkconfig: - 57 75
# description: test service

start() {

echo "Starting test ..."
echo 3 >> /tmp/sunyu.txt
}

stop() {
echo "Stopping test ..."
echo 2 >> /tmp/sunyu.txt
}

# See how we were called.
case "$1" in
  start)
start
;;
  stop)
stop
;;
  restart|force-reload)
stop
start
;;
  *)
echo $"Usage: $0 {start|stop|restart|force-reload}"
exit 2
esac

要注意的是, 文件的格式要是 unix. 可以通过 VI 命令 :set ff? 查看.如果不是, 执行的时候会报错:
/bin/bash^M: bad interpreter

:set fileformat=unix --> 设置编码为unix(还可以设置为 doc)

VI 中保存
将该脚本设置为可执行:
chmod +x test

可以看到. 启动服务的时候会输出一行字. 然后往 /tmp/sunyu.txt 中写入一个 3. 关闭时会往文件中写入一个 2 如果该文件不存在, 请先行自己在 /tmp 下新建:
cd /tmp/
touch sunyu.txt
然后将文件设置为可写:
chmod 777 sunyu.txt

2.添加系统服务
chkconfig --add test

3.系统服务自启动
chkconfig --level 345 test on

4.测试
service test start
然后查看 /tmp/sunyu.txt 中的内容: cat /tmp/sunyu.txt
service test stop
然后再查看上面文件中的内容

重启:
reboot
再查看 /tmp/sunyu.txt 文件中的内容.如果看到变化表示服务添加成功.
此例通过后, 可在脚本中的 start stop 中做自己想做的其它事了.

你可能感兴趣的:(服务器,服务器运维)