Linux开机启动二三事

原由

在折腾树莓派的过程当中,参考教程,也搭建了几个服务,由于有时会有开关机的须要,因此,很多服务都须要从新开启,是否是有更好的方式来实现开机启动呢,因而google找了几篇教程,也尝试了几种方式,终于找到了适合的方式来管理服务了。html

网上不少使用的是 在 /etc/rc.local 中添加开启语句 或者是在 /etc/init.d 中添加shell脚本,在操做的过程当中发现使用不是很友好, 难道没有统一的标准来进行方便管理的工具吗?linux

ps 根据运行级别的不一样,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工做和启动相应的服务。而 rc0.d~rc6.d 中的文件 均是来自/etc/init.d 文件的软链,当加载完成后 加载 /etc/rc.local (用户自定义配置)shell

Systemd

在CentOS 7 和 Ubuntu 15 中 开始加入 Systemd 做为系统的启动和管理的优先解决方案。工具

主要文件

配置文件主要放在/usr/lib/systemd/system目录中 主要是用户定义的启动google

/lib/systemd/system 则存放系统级别的启动任务.net

/etc/systemd/system 中存了一些放前者的软链rest

编写启动文件 (以aria2 为例)

[Unit]
Description=aria2
After=network.target

[Service]
ExecStart=  /home/user/tool/aria2/aria2c --conf-path=/home/user/tool/aria2c/aria2.conf
ExecStop=/bin/kill $MAINPID
RestartSec=5s
Restart=on-failure

[Install]
WantedBy=multi-user.target

使用方法

sudo systemctl enable aria2   # 设置开机启动
sudo systemctl start aria2    # 启动服务
sudo systemctl status aria2   # 查看服务状态
sudo systemctl stop aria2     # 中止服务
sudo systemctl restart aria2  # 重启服务
sudo systemctl kill aria2     # 杀死进程

参考连接:code

相关文章
相关标签/搜索