CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变,也大幅提升了系统服务的运行效率。但服务的配置和以往也发生了极大的不一样,说实在的,变的简单而易用了许多。
下面我从头至尾来写一个启动mfs的脚本
CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像须要开机不登录就能运行的程序,仍是存在系统服务里吧,即:/usr/lib/systemd/system目录下
每个服务以.service结尾,通常会分为3部分:[Unit]、[Service]和[Install],咱们能够看一下系统自带的mariadb.server,看看他是如何定义的!mysql
[root@xhk system]# cd /var/lib/systemd/system [root@xhk system]# cat mariadb.service |egrep -v "^$|[[:space:]]*#"
[Unit] Description=MariaDB database server After=syslog.target After=network.target [Service] Type=simple User=mysql Group=mysql ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n ExecStart=/usr/bin/mysqld_safe --basedir=/usr ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID TimeoutSec=300 PrivateTmp=true [Install] WantedBy=multi-user.target
咱们只须要修改一下参数就行sql
[root@xhk system]# vim mfs.service
[Unit] Description=mfs After=network.target [Service] Type=forking ExecStart=/usr/local/mfs/sbin/mfsmaster start ExecStop=/usr/local/mfs/sbin/mfsmaster stop PrivateTmp=true [Install] WantedBy=multi-user.target
保存退出以后,就能够使用system来控制mfs进程了vim
[root@xhk system]# systemctl start mfs [root@xhk system]# systemctl enable mfs