文档章节

Linux下service简介以及封装service

聼到
 聼到
发布于 2015/11/05 10:31
字数 622
阅读 23
收藏 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
博文 5
码字总数 3050
作品 0
浦东
Android之旅[1] - Architecture

本文只要是阅读Anatomy-Physiology-of-an-Android的随笔记录。 Anatomy意为解剖,是一种静态视角。Physiology意为生理,是一种动态视角。原文就是通过这两种角度来分析Android的。 Android基...

开源中国驻成都办事处
2012/11/19
0
0
Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用

Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用集群 LVS+Keepalived 介绍 2 LVS 2 Keepalvied 2 ubuntu系统环境准备工作 2 更换Ubuntu软件源 2 架构拓扑图 2 服务安装 ...

bobo2cj
2014/02/28
0
0
Linux mysql安装修改root密码服务

在向大家详细介绍Linux mysql之前,首先让大家了解下Linux mysql,然后全面介绍Linux mysql,希望对大家有用。 1. Linux mysql安装: $ yum install mysql-server 2. Linux mysql修改root密码...

Zero__One
2012/09/04
0
0
centos7替换firewall为iptables

Disable Firewalld Service. Stop Firewalld Service. Install iptables service related packages. Make sure service starts at boot: Now, Finally Let’s start the iptables services.......

路小磊
2015/07/27
0
0
如何在Linux下使用Gitblit工具创建Git仓库服务

嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具。首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤。Git是分布式版本控制系统,它强调速度、数据一致性,并...

酱醋茶丶
2015/11/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
0
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
2
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部