在Server 2012上将SpamAssassin作为Windows服务运行

我正在尝试运行运行spamassassin for windows的spamd.exe文件,作为一个Windows服务。 我试过了

sc create spamassassin binPath="C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamd.exe" DisplayName="Spam Assassin" start=auto 

得到了

 [SC] CreateService SUCCESS 

结果。

我现在可以在服务中看到“垃圾邮件刺客”了。 当我右键点击它,并select“开始”我收到错误,如“错误1053:该服务没有及时响应启动或控制请求。

关于sc.exe运行spamd.exe文件几乎没有作为服务的主题,所以我决定在这里问。

我知道spamd.exe能够像微软的SrvAny的旧工具一样运行Windows服务。 但它太旧,与Windows Server 2012或x64可执行文件不兼容(这是我在论坛中读到的)。

有人可以告诉我,为什么我得到服务启动1053错误,或者至less有一种方法来在Windows Server 2012环境中运行spamd.exe作为服务?

谢谢!

我使用srvany.exe成功将Spamd.exe作为Windows Server 2012R2 srvany.exe上的服务运行。 它不支持2012R2但它适用于此目的很好。

首先从Windows Server 2003资源工具包中获取srvany.exe ,并确保它安装在c:\windows\system32 (我将使用本教程中的所有默认path,根据需要进行修改)。

然后,从具有pipe理员权限的命令提示符运行以下命令:

 sc create Spamd binPath= C:\Windows\System32\srvany.exe DisplayName= "SpamAssassin Daemon" 

接下来,用pipe理员权限打开registry编辑器并导航到键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spamd\

在“ Spamd ”下创build一个名为“Parameters”的子键。 在“Parameters”下创build一个名为“ Application ”的string。 input“ C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamd.exe ”作为“Application”的string值(包括“作为值的一部分”)创build另一个名为“ AppParameters ”的string值,input以下string值:<- -l -s "C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamd.log ”>(不带<>但带有“)。 创build另一个名为“ AppDirectory ”的string值,并input“ C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\ ”作为值(不含“)。

一旦完成,你就可以开始这项服务了。 请注意,即使AppParameters值存在错误,服务也将无错地启动,因此请确保检查C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamd.log日志文件的C:\Program Files (x86)\JAM Software\SpamAssassin for Windows\spamd.log以确保SpamD为实际上工作。 如果不是,则可能需要调整AppParameters值中的path以反映系统上的正确path。

一旦SpamD服务以日志文件中正确的内容开始,您就完成了!

请注意,我使用了类似的服务configuration来在同一台服务器上运行ClamAV作为守护进程,并且工作得非常好。

你正在得到可怕的“错误1053”,因为spamd.exe不是一个真正的Windows服务,它不能正确响应您的请求启动服务。 您将需要使用“服务包装器”(如Microsoft的srvany ,但也有其他人)可以接受您的请求来启动服务并启动spamd.exe。

考虑使用非吸入服务pipe理器 。 它工作的很好,有32位和64位版本可用。 它可以检测到可执行文件在启动时是否失败,并在一系列其他function(包括graphics服务安装和删除function)中重新启动。 强烈推荐,BY ME! (没有从属关系,只是一个幸福的用户。)