一、centos7也支持service命令启动服务吗

CentOS 7.0中一个最主要的改变,就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。Systemd是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本(所谓的向后兼容就是对于之前的版本都是兼容的,但是对于之后的版本就不兼容了!),并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑。

先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中,这些启动脚本被服务单元(服务单元的样子:
以.service结尾)取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用系统服务,你要使用systemctl来代替旧的service命令。
注:为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。

下面是systemctl使用例子

使用systemctl来启动/停止/重启服务
要启动一个服务,你需要使用如下命令:
# systemctl start httpd.service
这会启动httpd服务,就我们而言,Apache HTTP服务器。
要停掉它,需要以root身份使用该命令:
# systemctl stop httpd.service
要重启,你可以使用restart选项,如果服务在运行中,它将重启服务;如果服务不在运行中,它将会启动。你也可以使用try-start选项,它只会在服务已经在运行中的时候重启服务。同时,reload选项你也可以有,它会重新加载配置文件。
# systemctl restart httpd.service
# systemctl try-restart httpd.service
# systemctl reload httpd.service
我们例子中的命令看起来会像下面这样:
检查服务状态
要检查服务状态,你可以使用status选项,看这里:
# systemctl status httpd.service
输出结果就像这样: 它会告诉你运行中的服务的方方面面。
使用启用/禁用服务来控制开机启动
你也可以使用enable/disable选项来控制一个服务是否开机启动,命令如下:
# systemctl enable httpd.service
# systemctl disable httpd.service

小结:1、先前的service命令在centos7 中仍然是可以使用的,因为旧的service命令(如:service network start命令)也是可以在centos7系统中执行的,系统会自动的重定向到新的命令

   2、centos7的系统都是用service的 使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中,这些启动脚本被服务单元(服务单元的样子:

以.service结尾)取代了

参考链接:http://blog.sina.com.cn/s/blog_12b1464290102yc9f.html

二、centos7 中的systemctl和旧的service命令的区别和联系

1、service命令的执行的原理:通过执行脚本的形式去管理、开启、关闭和重启服务

发现linux启动服务是用SERVICE + COMMAND+参数,觉得很有意思,因为command命令本身也是一个脚本啊,比如说:service network restart;好奇心就来了,怎么能够做一个属于自己的service命令呢。

其实很简单,只要我们认识service这个命令的原理就行了。如果要知道service这个命令怎么用,你就自己man service下,在这里,我简要说下service的运行过程。举个例子来说:service network restart。

首先呢,sevice 会去寻找/etc/init.d下的network脚本,restart是network脚本里的一个参数(你可以去查看network这个脚本支持的参数),然后告诉系统运行network这个脚本,剩下的事情就交给network脚本去坐了,事实就是这么简单。

现在,你应该知道怎么编写属于自己的service命令了吧,编写一个脚本,然后把它放在/etc/init.d这个目录底下,你就可以用service +脚本名字 运行它。如果是要开机自动启动那就得用chkconfig命令了。

注意:

A、service这个命令往往是即时生效,不用开关机,但是重启后服务会回到默认状态。

B、chkconfig是用于把服务加到开机自动启动列表里,只要启动它,就能自动启动,重启后永久生效

即:chkconfig --add COMMAND 

      chkconfig COMMAND on/off    重启后永久生效

2、systemctl命令的原理:

linux中systemctl详细理解:

一、systemctl理解

Linux 服务管理两种方式service和systemctl

systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。想要更深的理解systemd ,可以见链接:https://www.cnblogs.com/isme-zjh/p/11685327.html

systemd对应的进程管理命令是systemctl

1. systemctl命令兼容了service

即systemctl也会去/etc/init.d目录下,查看,执行相关程序,

因为systemctl实际上是

在RHEL 7/CentOS 7中,这些启动脚本被服务单元(服务单元的样子:
以.service结尾)取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途(启动服务、关闭服务等,)常见的.service

具体更深的对于  systemctl  命令管理的具体的资源的类型和具体的应用的命令可以见链接:https://www.cnblogs.com/isme-zjh/p/11685233.html

centos7也支持service命令启动服务吗,对于centos7 中的systemctl和旧的service命令的区别和联系的更多相关文章

  1. CentOS7安装mysql后无法启动服务,提示Unit not found

    首发日期: 2018-01-30 现象: 在centOS7中启动MySQL数据库提示: Failed to start mysqld.service: Unit not found [明明已经安装了, ...

  2. MySql:CentOS7安装mysql后无法启动服务报错,(需要更新yum源)

    首先:需要更新你的yum源,保证yum源最新. 1.安装: yum install -y mariadb-server 2.启动maria DB服务: systemctl start mariadb. ...

  3. Linux的setup命令启动服务名称和功能

    Linux的setup命令启动服务名称和功能 1 anacron 可执行crontab既定时间内没执行的工作.2 atd 单一使用的例行性命令.3 apmd 了解系统电池电量(手提式计算机使用).4 ...

  4. Centos7禁止或者允许开机启动服务

    [root@bogon rsyslog.d]# systemctl is-enabled httpd disabled [root@bogon rsyslog.d]# systemctl status ...

  5. 有关linux中出现systemctl status network.service" and "journalctl -xe" for details.

    Job for network.service failed because the control process exited with error code >**[root@mina0 ...

  6. Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

    Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...

  7. linux命令启动服务(tomcat服务或者jar包)

    启动tomcat: 1.方式一:直接启动 ./startup.sh 2.方式二:nohup ./startup.sh & 启动后,关闭当前客户端连接,重新启动一个查看是 否已经启动 启动jar ...

  8. 每天一个linux命令(63):Linux中zip压缩和unzip解压缩命令详解

    文章转自:http://www.jb51.net/LINUXjishu/105916.html 1.把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip ...

  9. redis修改密码以及验证登录,启动服务常用命令

    1.通过配置文件,直接修改 2.启动然后使用密码验证登录 3.redis常用命令 启动服务:redis-server --service-start重启服务:service redis restart ...

随机推荐

  1. SDN-数据控制分离

    严格来说,控制面与数据面分离并不是SDN的专利.从一个chassis角度看,传统路由器其实控制面和转发面也是分离的.Route-enginee和line card分别负责控制面板和转发面.但是传统网络 ...

  2. 论文阅读笔记(十)【CVPR2016】:Recurrent Convolutional Network for Video-based Person Re-Identification

    Introduction 该文章首次采用深度学习方法来解决基于视频的行人重识别,创新点:提出了一个新的循环神经网络架构(recurrent DNN architecture),通过使用Siamese网 ...

  3. vue中的this.$nextTick()使用

    首先我们来翻译一下nextTick是什么意思:下一个刻度 再来看看vue官网怎么说的: Vue.nextTick( [callback, context] )在下次 DOM 更新循环结束之后执行延迟回 ...

  4. "Chrome的network中无法显示OPTIONS请求"的解决方案

    目录 #事故现场 #分析及解决方法 #参考 #事故现场 在前端发送一个跨域请求的时候,要先发送个options请求,从而获知服务端是否允许该跨域请求. 跨域资源共享标准新增了一组 HTTP 首部字段, ...

  5. Log4net实用说明

    Log4net实用说明 Appender Filter Layout Logger ObjectRender Repository PatterLayout格式化字符表 配置文件说明 Appender ...

  6. Git常用命令简记

    创建仓库 添加需要版本控制的文件到仓库中 提交到版本库 修改位于顶端的commit的日志 分支管理 版本回退 切换与合并分支 本地版本库与远程关联 克隆 Tag的使用 问题与解决 创建git仓库 gi ...

  7. VUE 路由参数改变重新刷新数据

    VUE 路由参数改变重新刷新数据 App.vue 里面使用路由,然后通过App.vue文件中的搜索功能搜索刷新路由文件中的列表. 修改 index.js 文件 首先在路由文件 index.js 文件中 ...

  8. django Warning: (3135, "'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes

    django连接数据库配置设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test2', ...

  9. Myeclipse连接Mysql数据库时报错:Error while performing database login with the pro driver:unable

    driver template: Mysql connector/j(下拉框进行选择) driver name: 任意填,最好是数据库名称,方便查找 connection URL: jdbc:mysq ...

  10. Javascript数组与字符串常用api

    目录 javaScript(api学习) 数组有关的api 创建数组 数组的增删改查 indexOf(); push(),pop(),unshift(),shift() forEach() map() ...