armbian systemsystemctl管理服务XXX.service文件解读

init的服务管理

在Unix的system V版本中,启动服务的管理方式被称为SysV的init脚本程序处理方式,即系统核心第一个调用的程序为init,再由init调用其他服务

服务的开关和观察

所有服务启动脚本放置于 /etc/init.d

  • 启动:/etc/init.d/daemon start
  • 关闭:/etc/init.d/daemon stop
  • 重启:/etc/init.d/daemon restart
  • 观察:/etc/init.d/daemon status

systemd的服务管理

systemd将daemon统称为服务unit,每种服务依据功能区分为不同type

相关文件

  • /usr/lib/systemd/system:存放服务启动脚本
  • /run/systemd/system:系统执行过程中产生的服务脚本,优先比上面高
  • /etc/systemd/system:管理员依据系统需求所建立的脚本,优先级比上面高,这里面也是放置开机启动脚本的link文件

服务分类

后缀名 功能
.service 系统服务
.socket 用于IPC(Inter-process communication)的传输信息,一般用于唤醒其他服务
.target 用于执行一群服务的集合
.mount / .automount 挂载相关服务
.path 检查特定文件的服务,如打印服务
.timer 循环执行的服务

利用systemctl管理服务

命令 systemctl [command] service用于统一管理服务

服务的开关

  • start / stop / restart:开/关/重启服务
  • reload:不关闭服务的情况下,重新载入设置文件
  • enalbe / disable:开机自启及取消
  • status:列出状态
  • is-active:判断是否在允许
  • is-enable:判断是否开机自启

【参考】

启动自定义linux服务时,报错Failed at step EXEC spawning /xxx/yyy/zzz No such file or directory-CSDN博客

Linux基础——服务_linux 服务-CSDN博客

CentOS 7 系统服务配置–单元(Unit)_requiresmountsfor-CSDN博客