我有一台服务器,我想用它来监听 Amazon SQS 队列以执行各种任务。
因为工作是并行的,所以我希望有 10 个程序“a”,20 个程序“b”,等等。
我创建[电子邮件保护],[电子邮件保护]作为模板,然后创建了 a-static.service,它具有[电子邮件保护],[电子邮件保护], ETC
以及一个 b-static.service,它有[电子邮件保护], ETC。
问题是,当我重新启动主机时,作业不会启动。但是,如果我运行 systemctl start a-static.service,作业做开始。(a-static 和 b-static 应该启动,因为它们具有多用户目标)
那么:1-为什么作业不在启动时启动?2-我执行单元模板文件的方式,然后让“静态”多次调用它是最好的方法吗?
答案1
首先,为了管理一组相关服务,我建议使用target
。您可以在以下位置找到详细信息如何创建虚拟 systemd 服务来同时停止/启动多个实例?。
使用目标的好处是您可以以组或单独的方式停止和启动所有服务。
其次,你必须使能够服务,以便它们在启动时启动。启用单元将运行单元文件部分中的任何指令。您可以使用或简单地[Install]
检查单元是否已启用。systemctl status your-unit
systemctl is-enabled your-unit