CentOS 7系统已经把CentOS 6的 runlevel 系统服务管理替换成了systemd。在 /etc/rc[0-6S].d 下添加启动项已经不能在系统启动的时候自动执行,需要通过新的 systemd.unit 配置添加启动项。
systemd 特点
1. 可以指定unit间的依赖关系
2. 可以控制unit间的执行顺序或允许它们并发执行
简单的例子
该例子的功能是通过systemd配置一个启动项
1. 在 /usr/lib/systemd/system 目录下创建一个文件 myservice.service ,内容如下:
[Unit] Description=Systemd Unit Demo [Service] ExecStart=/your/path/startup.sh ExecStop=/your/path/shutdown.sh RemainAfterExit=yes [Install] WantedBy=default.target
ExecStart项指定的是该myservice unit在启动的时候执行的命令,可以用来执行某个操作或启动某个服务。ExecStop项指定的是该myservice unit在关闭的时候执行的命令,可以用来执行某些清理操作或关闭服务。
2. 执行命令 "systemctl enable myservice" 启用该启动项
3. 执行命令 "systemctl start myservice" 激活该启动项
到此为止,myservice已经启动,并且在下次系统启动后还会自动执行。
systemd.unit有多种类型,分别对应不同的行为。上面的例子只是展现了service类型的unit的最基础的用法,详细的systemd功能及配置可以参考systemd的manpage文档。
时间: 2024-11-03 05:41:36