使用systemd

Frank发布

systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序,现在已成为大多数发行版的标准配置。

历史上,Linux 的启动一直采用init用于管理进程和服务。这种方法有两个缺点:一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程;二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。因此Systemd应运而生,Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),为系统的启动和管理提供一套完整的解决方案。

根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。

创建配置文件

/etc/systemd/system创建一个以 .service结尾的文件。

例如 servicename.service

字段含义

Service区块

  • ExecStart:启动命令
  • Restart:如何重启。always表示如果进程退出,总是重启
  • Environment:环境变量
  • WorkingDirectory:工作目录

Install区块

  • WantedBy字段:设为开机启动时,该服务所在的 Target 是multi-user.target。

常用命令

重载配置文件
sudo systemctl daemon-reload
启动服务
sudo systemctl start servicename
查看状态
sudo systemctl status servicename
查看日志
sudo journalctl -u servicename
重启服务
sudo systemctl restart servicename
停止服务
sudo systemctl stop servicename

参考资料

https://github.com/fatedier/frp/issues/176
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
https://wiki.archlinux.org/index.php/systemd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

分类: 原创文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha *

%d 博主赞过: