栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux系统(Debian)添加自定义服务的方法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux系统(Debian)添加自定义服务的方法

操作系统:Debian GNU/Linux 7.0 (wheezy)

安装chkconfig
chkconfig是可以查询和设置系统服务的工具,通俗的说,chkconfig是一个用于维护/etc/rc[0-6].d目录的命令行工具。

sudo apt-get install chkconfig

在/etc/init.d/目录下,编写自定义服务脚本myservice.sh,myservice.sh能够接受start、stop参数,并且在启动和结束后能够打印相关信息,并保存日志到log.txt中

#!/bin/sh
#chkconfig: 2345 90 15
#description: this is a test service
case "$1" in
	start)
		echo [$(date "+%Y-%m-%d %H:%M:%S")] myservice started >> /home/a/log.txt
		echo "33[40;32mmyservice.sh started!33[0m"   
		;;
	stop)
		echo [$(date "+%Y-%m-%d %H:%M:%S")] myservice stopped >> /home/a/log.txt 
		echo "33[40;32mmyservice.sh stopped!33[0m"   
		;;
	*)
		;;
esac

其中#chkconfig: 2345 90 15表示此服务在系统运行级别2-5下进行开机自启,启动优先级是90,停止优先级是15。优先级数字越大,优先级越低。
对于系统运行级别,linux共有0-6共7个运行级别。在系统启动时会对应执行/etc/rc[0-6].d目录下的脚本。

增加服务

chkconfig --add myservice.sh


之后会发现,在rc[2-5].d目录下,多了名为S17myservice.sh的软连接。说明系统会在运行级别为2-5时,自动启动myservice.sh脚本,并且以start作为参数(S开头的脚本启动时start作为参数(start),K开头的脚本启动时以stop作为参数(kill))

之后重启系统,会发现该服务得到了自动启动,并在log.txt中写入了信息

也可以用service命令对服务进行管理

service myservice.sh start
service myservice.sh stop


但是service命令并不会影响服务的开机自启,在服务停止后,仍旧会在2-5系统运行级别启动

如果需要移除服务,使用以下命令

chkconfig --del myservice.sh

之后发现在rc[2-5].d目录下,已经没有myservice.sh的软连接存在,并且服务状态也变成了off,不会伴随开机启动

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945912.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号