CentOS 6和CentOS 7都可以定义开机启动哪些服务,但CentOS 6的命令是chkconfig,CentOS 7是systemctl。

本文将介绍两种命令的实现方式。

一、CentOS 6的服务

在CentOS 6下编写一个服务http,位于/etc/init.d目录下,具体的脚本如下:

#!/bin/bash
# chkconfig:
# description: http .... start() {
echo "HTTP is enabled now"
}
stop() {
echo "HTTP is disable now"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
start
stop
;;
*)
echo "USAGE $0 {start|stop|restart}"
exit
esac

注意,两个注释"# chkconfig: 2345 10 90"和 "# description: http ...."表示:启动的level和优先级,已经服务的描述。这两段注释是一定要加上的。否则服务添加是报错。

通过如下命令实现把服务注册到chkconfig中:

chkconfig --add http

然后可以通过:

chkconfig http on

定义开机启动这个服务。另外可以查看chkconfig的状态:

chkconfig --list

二、CentOS 7的服务

在CentOS 7的机器中创建一个服务的脚本: /etc/init.d/myuptime。具体的脚本如下:

#!/bin/bash

start() {
echo starting
while true
do
uptime >> /root/myuptime.txt
sleep
done
}
stop() {
echo stoping
pid=`ps -ef | grep myuptime | grep -v grep | awk '{print $2}'`
kill $pid &
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "USAGE $0 {start|stop|restart}"
exit
esac

在/etc/systemd/system中创建服务描述文件myuptime.service

[Unit]
Description=uptime Service
After=network.target [Service]
Type=simple
User=root
ExecStart=/etc/init.d/myuptime start
ExecStop=/etc/init.d/myuptime stop [Install]
WantedBy=multi-user.target

这个文件中包含Unit、Service和Install三个部分。定义了描述、服务属性的类型和安装参数等。其中ExecStart、ExecStop定义了启动和停止的实现方式。

配置好后,运行:

[root@hwcentos70-01 system]#systemctl enable myuptime

ln -s '/etc/systemd/system/myuptime.service' '/etc/systemd/system/multi-user.target.wants/myuptime.service'

systemctl把myuptime服务加入到了启动项目中。

执行:

[root@hwcentos70-01 system]#systemctl start myuptime

查看:

[root@hwcentos70-01 system]#systemctl status myuptime

myuptime.service - uptime Service

Loaded: loaded (/etc/systemd/system/myuptime.service; enabled)

Active: active (running) since Fri -- :: UTC; 10s ago

Main PID:  (myuptime)

CGroup: /system.slice/myuptime.service

├─ /bin/bash /etc/init.d/myuptime start

└─ sleep 

Feb  :: hwcentos70- systemd[]: Started uptime Service.

Feb  :: hwcentos70- myuptime[]: starting

通过以上的方法实现把myuptime作为服务加入启动项。

CentOS6和CentOS7服务开机启动的更多相关文章

  1. 【CentOS】centos7上查看服务开机启动列表

    centos7上查看服务开机启动列表 命令: systemctl list-unit-files; 点击回车,可以向下翻页查询

  2. CentOS7添加开机启动服务或脚本

    方法一(rc.local) 改方式配置自动启动最为简单,只需要修改rc.local文件 由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod + ...

  3. centos7 管理开机启动:systemd

    一.CentOS7 systemd 介绍 在 CentOS7 中,使用 systemd 来管理其他服务是否开机启动,systemctl 是 systemd 服务的命令行工具 [root@mysql ~ ...

  4. linux系统chkconfig使用方法及服务开机启动

    一.基础知识 有关linux系统开机过程.运行等级,执行权限请看另一篇:linux系统启动过程及运行等级详解. 本篇文章实践的系统:centos6.5 二.创建服务 通过之前的说明,我们知道了如果需要 ...

  5. centos设置服务开机启动

    Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHa ...

  6. CentOS设置服务开机启动的方法

    CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后 ...

  7. linux系统设置服务开机启动3种方法,Linux开机启动程序详解

    linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明 ...

  8. centos 6 与 centos 7 服务开机启动、关闭设置的方法

    简单说明下 centos 6 与 centos 7 服务开机启动.关闭设置的方法: centos 6 :使用chkconfig命令即可. 我们以apache服务为例: #chkconfig --add ...

  9. (转)CentOS 7 sytemctl 自定义服务开机启动

    CentOS 7 sytemctl 自定义服务开机启动 原文:http://blog.csdn.net/ithomer/article/details/51766319 CentOS 7继承了RHEL ...

随机推荐

  1. why factory pattern and when to use factory pattern

    1 factory pattern本质上就是对对象创建进行抽象 抽象的好处是显然的,可以方便用户去获取对象. 2 使用factory pattern的时机 第一,当一个对象的创建依赖于其它很多对象的时 ...

  2. C++, Java和C#的编译、链接过程解析

    总是感觉java是解释性语言,转载下一篇感觉写的容易理解的文章 转自 http://www.cnblogs.com/rush/p/3155665.html 1.1.1 摘要 我们知道计算机不能直接理解 ...

  3. centos install docker setup centos7 安装docker

    centos7 安装docker 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2: 添 ...

  4. SAP 改表方法

    SAP中直接修改表.视图的Tcode有SE16N和SM30. 1. SE16N修改表需要先输入命令&SAP_EDIT,回车左下角显示激活SAP编辑功能后,就可以对相应的表进行新增.删除.修改的 ...

  5. 3.07课·········if分支语句

    语句分类:顺序语句,选择语句(分支语句),循环语句 分支语句:(一)if(表达式) //表达式返回值是True或False{}说明:1.表达式返回的是bool值:2.小括号和花括号后面不需要加分号. ...

  6. 第一章 python中重要的数据结构(上)

    最近,由于工作需要,使用python开发公司的运维自动化平台,所以找本书来并结合官方手册,开始python的学习之旅. 一.列表 [含义]:列表用中括号表示,通过逗号进行分隔一组数据(可以为不同的数据 ...

  7. python内置方法补充any

    any(iterable) 版本:该函数适用于2.5以上版本,兼容python3版本. 说明:如果iterable的任何元素不为0.''.False,all(iterable)返回True.如果ite ...

  8. 解决COMODO Internet Security更新慢或失败的问题

    方法一: COMODO 默认更新服务器只有一个:http://download.comodo.com/ 我电信网络更新速度非常慢: 实在没有办法了,找到了几个更新服务器: http://eu1.dow ...

  9. Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??错误

    启动项目的时候发现tomcat跑不起来.后台输出错误Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í?? 发现是ecli ...

  10. wget下载文件

    http://blog.sina.com.cn/s/blog_4af3f0d20100n1k0.html 一.下载目录 #wget -r -np -nd http://example.com/pack ...