首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >assp的Systemd服务文件

assp的Systemd服务文件
EN

Server Fault用户
提问于 2018-09-02 16:44:39
回答 1查看 621关注 0票数 2

我在使用systemd的CentOS 7上运行ASSP。我能找到的唯一预先制作的服务文件(howtoforge.com)使用oneshot类型,但我不确定它是正确的。更重要的是,停止命令似乎会杀死我正在运行的所有perl程序(因此我将其注释掉)。但现在我不确定它在关机时是否能正常停止。有人能建议如何改进服务文件吗?

代码语言:javascript
复制
[Unit]
Description=AntiSpam SMTP Proxy
After=network.target

[Service]
Type=Simple
Environment=PERL5LIB=/root/perl5/lib/perl5/
ExecStartPre=-rm -f /usr/local/assp/pid
ExecStart=/usr/bin/perl /usr/local/assp/assp.pl /usr/local/assp/
ExecStopPost=-rm -f /usr/local/assp/pid

[Install]
WantedBy=multi-user.target
EN

回答 1

Server Fault用户

发布于 2018-09-02 20:44:23

对于任何打算持续运行的程序,无论是作为守护进程还是其他程序,Type=oneshot都是没有意义的。所以你是对的。你确实发现了另一个糟糕的网络教程(在一个臭名昭著的网站上;该教程还有很多其他问题)。

通过查看assp的wiki上的样例init脚本,可以看出该程序运行在前台,并且不去守护自己。Type=simple (默认值)适用于这类服务。

ExecStop=行通常并不是Type=simple服务所必需的,因为systemd已经知道要停止哪个进程。它只需要有一个不寻常的停止过程,但assp只是接受一个信号和终止,就像任何其他进程。你可以省略这一行。

除了这些问题,您还复制了一个ExecStartPre=行。你可能只需要一次。您还可能希望将WorkingDirectory=设置为安装assp的目录,因为旧样式init脚本也会这样做。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/929082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档