文档章节

Linux下service简介以及封装service

聼到
 聼到
发布于 2015/11/05 10:31
字数 622
阅读 17
收藏 0
点赞 0
评论 0

     service命令,顾名思义,就是用于管理Linux操作系统中服务的命令。首先要说明的是,这个命令不是在所有的的linux发行版里面都有,一般主要在redhat、fedora、mandriva和centos中有。通过file命令可以知道这个命令是一个脚本文件,位于/sbin目录下面,

它主要的工作原理是去/etc/init.d/目录下面寻找对应的服务脚本执行,调用方式如service tomcat start/stop/restart。

因此,在工作环境中不建议大家使用service命令,而换成/etc/init.d/XX.sh这种方式,原因是上面所说,service命令不是所有的发行版都有。

      介绍了service这个命令之后,接下来要介绍把自己的脚本封装成service服务的例子,也是本篇博客的重心,主要是为了说明service这个脚本的运行原理,希望大家可以自己去了解一下。

      1.准备自己的shell脚本myservice.sh,内容如下:

#!/bin/bash
#chkconfig:2345 80 90
#description:myservice
command=$1
case $command in
start)
        echo myservice start...
        ;;
stop)
        echo myservice stop...
        ;;
restart)
        echo myservice restart...
        ;;
*)
        echo input command error...
esac

    2.给这个脚本加上可执行权限,chmod +x myservice.sh。同时将这个脚本放在/etc/init.d/目录下,mv xx/myservice.sh /etc/init.d/。

     3.给这个脚本封装服务,chkconfig --add myservice.sh 。这里要注意的是刚开始一直运行这个命令出错,这个脚本中要注意的是第二行和第三行,chkconfig后面的2345 80 90 的意思是说明在/etc/rc2~rc5目录下创建一个S80myservice的链接,文件是链接到/etc/init.d/myservice脚本同时添加一个start参数,S是指在系统启动的时候就会执行这个脚本,表明服务已启动。同时会在rc0和rc6下面建立K90myservice的连接同时会添加一个stop参数,K代表系统关闭的时候会关闭这个服务。description后面是服务的描述。这两行是必须要写明的,不然会报错。

      4.执行这个服务,我的运行结果如下:

[root@localhost init.d]# service myservice start

myservice start...

[root@localhost init.d]# service myservice stop

myservice stop...

[root@localhost init.d]# service myservice restart

myservice restart...

    当然,在实际工作中,大家可以把对应的脚本替换到可以执行的位置。谢谢

© 著作权归作者所有

共有 人打赏支持
聼到
粉丝 0
博文 4
码字总数 3050
作品 0
浦东
Kubernetes使用问题总结

加快Kubernetes编译速度 除了linux/amd64,默认还会为其他平台做交叉编译。为了减少编译时间,可以修改hack/lib/golang.sh,把KUBESERVERPLATFORMS, KUBECLIENTPLATFORMS和KUBETESTPLATFOR...

Mr_sheng ⋅ 06/04 ⋅ 0

使用二进制安装包部署kubernetes v1.9.8集群的参考手册

一、使用二进制方式部署k8s的Master节点 more /usr/lib/systemd/system/kube-apiserver.service more /usr/lib/systemd/system/kube-controller-manager.service more /usr/lib/systemd/sys......

watermelonbig ⋅ 05/24 ⋅ 0

ACWS Framework 简介

- ACWS Framework 是为开发ACWS结构的应用程序和实现Web Service功能,为方便此类应用开发而设计的一套基础的分布式运算构架。 ACWS Framework是一套吸收C/S结构和B/S结构的基础上作出的,全...

agilelab ⋅ 2006/11/21 ⋅ 0

Android Audio BSP工程师 需要清楚的基本知识点

原址 【前言】 这是我根据自己的工作经验所总结,有一定代表性,但可能不齐全。这只是个提纲。 【知识点】 按照在操作系统中的层次划分,从上到下依次为: 1、Android系统分层模型。知道 AP...

u010164190 ⋅ 05/30 ⋅ 0

5月23日任务 LAMP架构介绍、MySQL、MariaDB介绍、 MySQL安装

11.1 LAMP架构 LAMP 是Linux、 Apache、 MySQL、 PHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,这边不介绍。Apa...

吕湘颖 ⋅ 05/09 ⋅ 0

微软发布自己定制的 Linux 内核和发行版,面向物联网

微软首次发布了自己的定制 Linux 内核和发行版。在旧金山举行的新闻发布会上,微软宣布了针对物联网设备的解决方案 Azure Sphere。 Azure Sphere 包含三个组件。其中之一是微软设计的 Sphere...

局长 ⋅ 04/18 ⋅ 0

Android应用开发以及设计思想深度剖析(3)

特别声明:本系列文章LiAnLab.org著作权所有,转载请注明出处。作者系LiAnLab.org资深Android技术顾问吴赫老师。 我们接下来从安全性,性能,功能,可移植性的角度分别分析Android系统为应用...

21cnbao ⋅ 2012/09/14 ⋅ 0

SaltStack自动化部署Kubernetes v1.9.3版本

SaltStack自动化部署Kubernetes v1.9.3版本(支持TLS 双向认证、RBAC 授权、Flannel网络、ETCD集群等) 版本明细:Release-v1.0 测试通过系统:CentOS 7.4 salt-ssh: 2017.7.4 Kubernetes: ...

OpenStack2015 ⋅ 04/16 ⋅ 0

LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

1、LAMP 架构介绍 LAMP 是Linux、 Apache、 MySQL、 PHP的简写,其实就是把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,这边不介绍。...

JolieLin ⋅ 04/19 ⋅ 0

在云端服务器+终端的方式安装配置网防G01管理监测系统

生产环境: 操作系统:CentOS release 6.9 (Final) 任务:网防G01管理监测系统 官网提供Linux安装步骤:http://help.gov110.cn/part2/chaper3/linux.html 操作步骤: 网防监测系统网址:htt...

whm_666 ⋅ 04/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 55分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部