man systemd.unit
man systemd.service
###依赖关系和前后顺序
* 依赖关系:Requires和Wants
* 前后顺序:After,Before
依赖关系,前后顺序是比较容易混淆的,当使用Requires和Wants的时候,
* 如果不搭配After,Before使用,比如:
unit A Requires unit B, 那么A和B会一起启动,如果B失败了,A也就失败了,只有B成功了,A才能成功;
unit A Wants unit B, 那么A和B会一起启动,如果B失败了,A也就失败了,只有B成功了,A才能成功;
* 建议搭配After,Before使用,比如:
unit A Requires unit B, 那么同时最好unit A中写上:After=B
###unit处理依赖关系:Requires和Wants的区别?
使用systemd时,可通过正确编写单元配置文件来解决其依赖关系。典型的情况是,单元A要求单元B在A启动之前运行。在此情况下,向单元A配置文件中的 [Unit] 段添加 Requires=B 和 After=B 即可。若此依赖关系是可选的,可添加 Wants=B 和 After=B。请注意 Wants= 和Requires= 并不意味着 After=,即如果 After= 选