Linux开机启动二三事

起因

在折腾树莓派的过程中,参考教程,也搭建了几个服务,因为有时会有开关机的需要,所以,不少服务都需要重新开启,是不是有更好的方式来实现开机启动呢,于是google找了几篇教程,也尝试了几种方式,终于找到了适合的方式来管理服务了。

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

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

Systemd

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

主要文件

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

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

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

编写启动文件 (以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     # 杀死进程

参考链接:

    原文作者:桀骜不驯的喵
    原文地址: https://segmentfault.com/a/1190000012474817
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞