后台spamassassin中的php重启进程

后台spamassassin中的php重启进程,php,exec,background-process,popen,spamassassin,Php,Exec,Background Process,Popen,Spamassassin,我使用popen和ssh 在一个脚本中,我需要使用以下命令重新启动spamassassin服务: $spamassassin = "service spamassassin restart &"; $spamassmilter = "service spamass-milter restart &"; shell_exec($spamassassin); shell_exec($spamassmilter); 我希望此过程在后台重新启动,因为我的浏览器会等待服务重新启动以停止加

我使用popen和ssh

在一个脚本中,我需要使用以下命令重新启动spamassassin服务:

$spamassassin = "service spamassassin restart &";
$spamassmilter = "service spamass-milter restart &";
shell_exec($spamassassin);
shell_exec($spamassmilter);
我希望此过程在后台重新启动,因为我的浏览器会等待服务重新启动以停止加载网页

我尝试:

$spamassassin = "service spamassassin restart &";

但我的浏览器正在等待服务重新启动

如果浏览器不等待所有服务重新启动,如何重新启动服务

我使用popen、ssh、exec

编辑:

最后,由于@immulatin提供了此链接,我终于解决了问题

我使用:

$spamassassin = "service spamassassin restart &> /dev/null &";
$spamassmilter = "service spamass-milter restart &> /dev/null &";

exec($spamassassin);
exec($spamassmilter);
尝试使用nohup



另外,请确保运行apache的用户有足够的权限重新启动此服务。

SA的服务重新启动需要以root用户而不是web用户的身份进行,并且您不需要&或任何东西,只是“服务重新启动”不起作用。该服务可以重新启动,但需要的时间太长。重新启动垃圾邮件刺客确实需要一段时间。这不是一项即时作业,如果要同时运行,请查看使用计划程序
$spamassassin = "nohup service spamassassin restart";
$spamassassin = "service spamassassin restart &> /dev/null &";
$spamassmilter = "service spamass-milter restart &> /dev/null &";

exec($spamassassin);
exec($spamassmilter);
<?php
// Note the backticks!
`nohup service spamassassin restart &`
?>