CentOS 7 sytemctl 自定义服务开机启动

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得系统服务的/etc/init.d的启动脚本的方式发生重大改变,也大幅提高了系统服务的运行效率。但服务的配置和以往也发生了极大的不同,变的简单而易用了许多(仁者见仁,米扑博客)。

systemd提供更优秀的框架以表示系统服务间的依赖关系,实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果。
systemd 目标是:尽可能启动更少进程;尽可能将更多进程并行启动,systemd尽可能减少对shell脚本的依赖。

systemd单位类型

systemctl –type=单位类型,用来过滤单位,

例如: systemctl –type=service


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

[root@mimvp_usa ~]# systemctl --type=service

  UNIT                               LOAD   ACTIVE SUB     DESCRIPTION

  aegis.service                      loaded active running LSB: aegis update.

  agentwatch.service                 loaded active exited  SYSV: Starts and stops guest agent

  aliyun.service                     loaded active running auto run aliyunservice or agent

  crond.service                      loaded active running Command Scheduler

  dbus.service                       loaded active running D-Bus System Message Bus

  getty@tty1.service                 loaded active running Getty on tty1

  httpd.service                      loaded active running The Apache HTTP Server

  kmod-static-nodes.service          loaded active exited  Create list of required static device nodes for the current kernel

  lvm2-lvmetad.service               loaded active running LVM2 metadata daemon

  lvm2-monitor.service               loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress

  mariadb.service                    loaded active running MariaDB database server

● mongod.service                     loaded failed failed  SYSV: Mongo is a scalable, document-oriented database.

  mongodb.service                    loaded active running mongodb

  network.service                    loaded active exited  LSB: Bring up/down networking

  nscd.service                       loaded active running Name Service Cache Daemon

  ntpd.service                       loaded active running Network Time Service

  polkit.service                     loaded active running Authorization Manager

  rc-local.service                   loaded active exited  /etc/rc.d/rc.local Compatibility

服务(service):管理着后台服务;
挂载(mount)自动挂载(automount):用来挂载文件系统;
目票(target):运行级别;
套接字(socket):用来创建套接字,并在访问套接字后,立即利用依赖关系间接地启动另一单位;

开机服务管理

CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,

/usr/lib/systemd/system/
/usr/lib/systemd/user/

像需要开机不登陆就能运行的程序,存在系统服务,即:/usr/lib/systemd/system/ 目录下
每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]、[Install]

[Unit] 主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别

[Service] 是服务的关键,是服务的一些具体运行参数的设置,

Type=forking是后台运行的形式,

PIDFile为存放PID的文件路径,

ExecStart为服务的具体运行命令,

ExecReload为重启命令,

ExecStop为停止命令,

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

[Install] 是服务安装的相关设置,可设置为多用户的
 
服务脚本按照上面编写完成后,以754的权限保存在/usr/lib/systemd/system/目录下,这时就可以利用systemctl进行配置

示例:

自定义 mongodb 开机启动

vim  /usr/lib/systemd/system/mongodb.service


1

2

3

4

5

6

7

8

9

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

原文地址:https://www.cnblogs.com/siwnckhhw/p/10525522.html

时间: 2024-11-08 23:44:22

CentOS 7 sytemctl 自定义服务开机启动的相关文章

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

CentOS 7 sytemctl 自定义服务开机启动 原文:http://blog.csdn.net/ithomer/article/details/51766319 CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得系统服务的/etc/init.d的启动脚本的方式发生重大改变,也大幅提高了系统服务的运行效率.但服务的配置和以往也发生了极大的不同,变的简单而易用了许多(仁者见仁,米扑博客). systemd提供更优秀的框架以表示系统服务

centos设置服务开机启动

Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算 手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务. 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,

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

CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务. 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦. 其实命令很简单的,使用chkconfig即可. [天涯PHP博

CentOS6和CentOS7服务开机启动

CentOS 6和CentOS 7都可以定义开机启动哪些服务,但CentOS 6的命令是chkconfig,CentOS 7是systemctl. 本文将介绍两种命令的实现方式. 一.CentOS 6的服务 在CentOS 6下编写一个服务http,位于/etc/init.d目录下,具体的脚本如下: #!/bin/bash # chkconfig: 2345 10 90 # description: http .... start() { echo "HTTP is enabled now&qu

【转】centos 服务开机启动

转自: http://blog.csdn.net/educast/article/details/49558945 http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html 1.利用 chkconfig 来配置启动级别在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算手动执行 /etc/init.d/mysqld start

linux开机启动服务和chkconfig使用方法(自定义服务路径启动)

服务概述在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动,关闭的时候自动关闭.将 需要自动启动的脚本/etc/rc.d/init.d目录下,然后用命令chkconfig --add filename将自动注册开机启动和关机关闭.实质就是在rc0.d-rc6.d目录下生成一些文件连接,这些连接连接到/etc/rc.d /init.d目录下指定文件的shell脚本. 在文章linux下Oracle自动启动与停止(一),linux下Ora

centos设置服务开机启动失败问题

1.安装某服务设置开机启动的时候报错 [root@node1 ~]# systemctl enable lvm2-lvmetad.serviceThe unit files have no [Install] section. They are not meant to be enabledusing systemctl.Possible reasons for having this kind of units are:1) A unit may be statically enabled b

CentOS 7 配置花生壳开机启动

在家安装服务器,外地可以随时登陆,感觉花生壳特别方便,具体路由器配置请参考http://service.oray.com/question/2486.html. 我使用的操作系统是 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 好了,进入正题 1 下载和安装花生壳公网包 参考http://hsk.oray.com/download/#type=linux, 1 下载软件包:

在centos中添加freeswitch服务开机自动运行

新建 /etc/init.d/freeswitch 脚本,脚本内容如下: #! /bin/sh # # freeswitch: Starts the freeswitch Daemon # # chkconfig: 345 96 02 # processname: freeswitch # description: Freeswitch fedora init script # config: # Author: gled # Source function library. . /etc/in