我正在尝试运行运行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! (没有从属关系,只是一个幸福的用户。)